最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.Net使用EF Core框架連接Oracle的方法

 更新時間:2025年02月12日 10:57:35   作者:菜到極致就是渣  
文章介紹了如何在.NET中使用Entity Framework Core框架連接Oracle數(shù)據(jù)庫,包括安裝必要的NuGet包、配置連接字符串、創(chuàng)建實體類和數(shù)據(jù)庫上下文類、注冊數(shù)據(jù)庫上下文服務以及測試數(shù)據(jù)庫數(shù)據(jù),感興趣的朋友一起看看吧

一、Nutget包添加

一定要安裝Oracle.MangedDataAccess,他是Oracle的驅動程序。如果是使EntityFrameworkCore框架操作Oracle,則還需要引入Oracle.EntityFrameWorkCore

二、 配置文件

在appsetting.json文件中寫好數(shù)據(jù)的連接信息,這里我本來使用的是Data source=tns別名,但是報錯了,后面我也看了tnsnames.ora中的信息,tns別名也沒有錯。但是一直報錯,所以我只能將這個連接信息全部寫全了。

{
  "ConnectionStrings": {
    "oracleConnect": "User Id=用戶名;Password=用戶密碼;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=服務名稱)))"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}

三、創(chuàng)建實體類

因為Oracle默認的話不管是大寫還是小寫,最后都會轉換成大寫,所以如果實體類的名字如果和表明不一致的話(大寫小寫Oracle是有區(qū)別的),會報錯!

所以使用了[Table]屬性來映射對應的表。

包括屬性名也是如此,使用了[Column]來映射對應的屬性名

using System.ComponentModel.DataAnnotations.Schema;
namespace OracleConnectTest.Models
{
    [Table("PEOPLE")]
    public class People
    {
        //oracle默認全部是大寫
        [Column("ID")]
        public int id { get; set; }
        [Column("NAME")]
        public string name { get; set; }
    }
}

四、創(chuàng)建數(shù)據(jù)庫上下文類

創(chuàng)建一個Data文件夾,將該類(數(shù)據(jù)庫上下文類)放入其中(個人習慣!)

using Microsoft.EntityFrameworkCore;
using OracleConnectTest.Models;
using System.ComponentModel.DataAnnotations.Schema;
namespace OracleConnectTest.Data
{
    public class OracleConnectTestContext : DbContext
    {
        public OracleConnectTestContext(DbContextOptions options) : base(options)
        {
        }
        public DbSet<People> peoples { get; set; }
    }
}

五、將數(shù)據(jù)庫上下文服務注冊到容器

Program.cs

using Microsoft.EntityFrameworkCore;
using OracleConnectTest.Data;
var builder = WebApplication.CreateBuilder(args);
//依賴項注入
builder.Services.AddDbContext<OracleConnectTestContext>(options =>
         options.UseOracle(builder.Configuration.GetConnectionString("oracleConnect")));

六、測試數(shù)據(jù)庫數(shù)據(jù)

(1)編寫PeopleController

using Microsoft.AspNetCore.Mvc;
using OracleConnectTest.Data;
namespace OracleConnectTest.Controllers
{
    public class PeopleController : Controller
    {
        private readonly OracleConnectTestContext _context;
        public PeopleController(OracleConnectTestContext context)
        {
            _context = context;
        }
        public IActionResult Index()
        {
            var s=_context.peoples.ToList();
            return View(s);
        }
    }
}

(2)編寫People頁面

@*
    For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
}
@model List<OracleConnectTest.Models.People>;
@foreach(var item in Model){
    <p>@item.id</p>
    <p>@item.name</p>
}

到此這篇關于.Net使用EF Core框架如何連接Oracle的文章就介紹到這了,更多相關.Net EF Core連接Oracle內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

神农架林区| 通山县| 都兰县| 宁陵县| 嘉定区| 丰县| 邻水| 清徐县| 安新县| 绍兴县| 板桥市| 高安市| 桐乡市| 大邑县| 囊谦县| 左贡县| 姜堰市| 高唐县| 沙河市| 衡水市| 舞阳县| 孝感市| 南郑县| 丹棱县| 和田市| 岑巩县| 伽师县| 巴林左旗| 南漳县| 宣威市| 沭阳县| 花莲市| 嫩江县| 女性| 红原县| 平潭县| 嘉荫县| 定陶县| 嘉兴市| 称多县| 辽阳县|