天天看點

【譯】EntityFramework6與EntityFrameworkCore的差別

EntityFramework6

EF6 是一個久經考驗的資料庫通路技術,發展多年,擁有許多特性,并且成熟穩定。2008年EF作為 .Net 3.5 Sp1 和Visual Studio 2008 SP1 的一部分首次釋出。從EF4.1開始,EF遷移到了Nuget。現在EF仍然是Nuget上最流行的包。

EF6會繼續作為被支援的項目,在未來的一段時間裡,EF6仍會獲得bug修複和一些小的改進。

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中混合計算混合的資料庫)

參考文獻:Compare EF Core & EF6

https://docs.microsoft.com/en-us/ef/efcore-and-ef6/