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(..)'比单独加载更快,因为它们将形成初始查询运行的一部分。 –