介紹 EntityFrameworkCore EF core 是一個輕量級的,可擴展的EF的跨平臺版本。對於EF而言 EF core 包含許多提升和新特性,同時 EF core 是一個全新的代碼庫,並不如 EF6 那麼成熟和穩定。EF core 保持了和EF相似的開發體驗,大多數頂級API都被保留了 ...
介紹
EntityFrameworkCore
EF core 是一個輕量級的,可擴展的EF的跨平臺版本。對於EF而言 EF core 包含許多提升和新特性,同時 EF core 是一個全新的代碼庫,並不如 EF6 那麼成熟和穩定。
EF core 保持了和EF相似的開發體驗,大多數頂級API都被保留了下來,所以,如果你用過EF6,那麼上手EF core你會覺得非常輕鬆和熟悉,EF core 構建在一套全新的核心組件上,這意味著EF core沒有從EF上繼承所有特性。一些特性會在未來的版本中發佈(例如 延遲載入和彈性鏈接),其它一些不常用的特性不會在EF core中實現。
全新的,可擴展的,輕量級的EF core,允許我們添加一些在EF6中未實現的特性(例如 alternate keys,和在Linq中混合計算混合的資料庫)
安裝並配置
使用NuGet包管理工具下載ef Core
發一下文字 Microsoft.EntityFrameworkCore.SqlServer 方便小伙伴複製,
安裝這個的時候,會自動安裝所需依賴,裝完就可以盡情的使用EFCore了。
1.新建一個Model作為測試數據
2.新建Uitl文件夾存放EF相關的類,
新建Context
3.給Context進行註入
ASP.NET Core預設實現了DI,服務在啟動時進行註冊,通過構造函數的方式獲取。
打開Startup.cs, 註冊context
4修改配套的 DefaultConnection
打開appsettings.json文件
5.添加測試數據,生成資料庫結構
6.Startup中修改Configure方法,調用剛剛的方法
運行一下網站,可以看到資料庫和測試數據都已生成
註意: DbInitializer.cs 是為了程式運行,就進行生成資料庫,和表結構等, 手動建數據的可不用這樣操作。
使用EF Core
NET Core中預設自帶了依賴註入,所以我們在控制器中使用ef的時候 直接進行構造函數註入
依賴註入的有點大家都應該有所瞭解, 不需要去New一個Context,原來:
privite XxxContext db=new XxxContext();
現在:
打上斷點,我們就可以拿到user數據了。