Entity Framework Core 2.1带来更好的SQL语句生成方案
微軟發布了Entity Framework Core2.1,為EF開發者帶來了很多期待已久的特性。EF Core 2.1增加了對SQL GROUP BY的支持,支持延遲加載和數據種子等。
EF Core 2.1的第一個重要新增特性是將GroupBy操作符翻譯成包含GROUP BY子句的SQL。缺乏這種支持被認為是EF Core 2.0中的一個重大疏漏。同樣,對延遲加載的支持也被納入到EF Core 2.1中。為了支持延遲加載,現在實體的構造函數可以包含參數。在定義好構造函數后,EF Core可以在創建實體實例時調用此構造函數。
EF Core現在支持以編程方式操作包含初始數據的數據庫。與EF6不同的是,“種子數據與實體類型相關聯,成為模型配置的一部分”。不過,EF Core 2.0的一些未解決問題在2.1中仍然未得到解決。例如,Table Per Type仍然是一個未解決的問題。
EF的打包在本版本中得到簡化,命令行工具現在是.NET Core SDK的一部分。開發者可以通過dotnet ef使用這些命令,并且在項目中引用它們(DotNetCliToolReference)現在不是必需的。不過,這些命令僅支持EF Core 2.0/2.1,因此如果需要支持EF Core 1.0/1.1,需要小心使用這些命令。
EF Core 2.1可通過安裝.NET Core 2.1 SDK獲得。由于EF Core 2.1符合.NET Standard 2.0,因此它可在.NET Core 2.0和.NET Framework 4.6.1(或更高版本)上運行。
在從以前的版本升級時,請注意,為數據庫廠商提供支持的軟件包也應該要升級。使用專為EF Core 2.0設計的數據庫驅動程序在EF Core 2.1中會出現問題,這些問題并不會馬上引起人們的注意,因此為了保險起見,最好進行更新。微軟建議通過dotnet add package直接更新,以確保可以加載正確的版本。
相關文章:
《你必須掌握的Entity Framework 6.x與Core 2.0》正式出版感想
EntityFramework Core依賴注入上下文方式不同造成內存泄漏了解一下?
Entity Framework Core 關聯刪除
你必須知道的EntityFramework 6.x和EntityFramework Core變更追蹤狀態
原文地址:http://www.infoq.com/cn/news/2018/06/efcore21-release
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的Entity Framework Core 2.1带来更好的SQL语句生成方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简明 ASP.NET Core 手册
- 下一篇: 用Way.EntityDB进行Entit