(摘)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直接更新,以確保可以加載正確的版本。

 

原文:http://www.infoq.com/cn/news/2018/06/efcore21-release


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM