標籤:手寫 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的使用整理