.NetCore中EFCore的使用整理

來源:互聯網
上載者:User

標籤:手寫   option   spn   執行個體   asp   etc   http   write   public   

EntirtyFramework架構是一個輕量級的可擴充版本的流行Entity Framework資料訪問技術.

其中的.NetCore版本對應EntityFrameworkCore

Git原始碼地址:https://github.com/aspnet/EntityFramework/

官方使用文檔說明:https://docs.microsoft.com/zh-cn/ef/core/index

 

一、安裝Nuget包

Install-package Microsoft.EntityFrameworkCoreInstall-package Microsoft.EntityFrameworkCore.SqlServer
Micorsoft.EntityFrameworkCore:EF架構的核心包
Micorsoft.EntityFrameworkCore.SqlServer:針對SqlServer資料庫的擴充,使用SqlServer資料庫必須。類似的還有MySql,SqlLite等
Micorsoft.EntityFrameworkCore.Tools
&Micorosft.EntityFrameworkCore.Design:使用者根據現有的資料庫產生模型代碼等 ,更多參考 :https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/porting/port-edmx
二、使用執行個體
1.安裝Nuget包之後,手動建立上下文,並 注入sql連結字串
using Microsoft.EntityFrameworkCore;namespace Core2{    public class TestContext : DbContext    {        //public TestContext(DbContextOptions<TestContext> options) : base(options)        //{        //}        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)        {            //注入Sql連結字串            optionsBuilder.UseSqlServer(@"Server=.;Database=Test1;Trusted_Connection=True;");        }        public DbSet<Numeber1> Numeber1s { get; set; }    }}
2.手寫實體類,只要資料庫中 存在對應 的表就可以了
using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;namespace Core2{    [Table("Numeber1")]    public class Numeber1    {        [Key]        public int ID { get; set; }        public decimal Num1 { get; set; }    }}

3.測試代碼:

static void TestOne(){    TestContext _context = new TestContext();    int count = _context.Numeber1s.Count();    Console.WriteLine(count);}static void TestTwo(){    DateTime start = DateTime.Now;    TestContext _context = new TestContext();    for (int i = 0; i < 10000; i++)    {        _context.Numeber1s.Add(new Numeber1()        {            Num1 = i        });        _context.SaveChanges();    }    Console.WriteLine(_context.Numeber1s.Count());    Console.WriteLine("總時間,秒數:" + (DateTime.Now - start).TotalSeconds);}

在調試的狀態下1萬條插入資料執行時間:


三、根據資料庫產生模型
1.安裝EntityFrameworkCore.Design和EntityFrameworkCore.Tools
2.選擇對應的項目,執行產生命名
Scaffold-DbContext "Server=.;database=test1;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models2

3.產生結果如下 :


更多 :
VS Code搭建.NetCore開發環境(二)
VS Code搭建.NetCore開發環境(一)
Chocolatey 簡介(軟體自動化管理工具)

.NetCore中EFCore的使用整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.