EF Core最近添加了顯式加載對象的導航屬性;顯式加載所有導航屬性
using (var db = new BloggingContext()) {
var blog = db.Blogs.Find(1);
db.Entry(blog).Collection(b => b.Posts).Load();
db.Entry(blog).Reference(b => b.Author).Load();
}
https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/
這顯然是冗長的,我不希望每次做這些檢查。是否有任何擴展方法或補充NuGet包可用來解決這些缺點?
我知道這是一個常見問題,但不適用於EF Core。
EntityFramework Eager Load all Navigation Properties
'.include(..)'不能在覈心中工作嗎?即。 'db.Blogs.Include(m => m.Posts).Include(m => m.Author).Find(1);' –
是的,但我試圖解決明確指定我想要的實體。 https://docs.microsoft.com/en-us/ef/core/querying/related-data – wonea
啊,對不起,所以你的問題是如何加載所有的模型導航道具。我誤解了標題,並試圖簡化它。我可以想出一個簡單的方法來做到這一點,反射,但不知道即使是舊的EF也有內置的方法。編輯:即使你鏈接到的問題將爲核心工作,因爲你仍然指定要加載的內容。編輯2:我可能是錯的,但我認爲'.include(..)'比單獨加載更快,因爲它們將形成初始查詢運行的一部分。 –