c# - EntityFramework Include (Eager Load) 虚拟属性的虚拟属性

标签 c# asp.net asp.net-mvc entity-framework

<分区>

假设我们有如下三个 Dbset:

Category
{
...
   public virtual ICollection<Item> Items {get; set;}
...
}

Item
{
...
   public virtual ICollection<Specification> Specifications{get; set;}
...
}

Specification
{
...
}

对于预加载,我是这样使用的:

Category cat = db.Categories.Include(c=> c.Items).FirstOrDefault(c=> c.Id == 1);

但是现在的问题是

cat.Items[0].Specificationsnull,我们如何让它也能预先加载集合的子集合?

P.S.:我尝试删除 virtual 关键字进行测试(我不想删除它)但它也没有用。

最佳答案

你也可以使用符号

db.Categories.Include("Items.Specifications")

注意必须是字符串

关于c# - EntityFramework Include (Eager Load) 虚拟属性的虚拟属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410107/

相关文章:

c# - 如何检查两个 Expression<Func<T, bool>> 是否相同

c# - Identity Server 4 Swagger 身份验证

javascript - 使用 __doPostBack 函数分析带有分页的 .aspx 站点

asp.net-mvc - 什么时候使用 ViewData 而不是 ViewModels 合适?

c# - 如何在选项卡控制选项卡内嵌套多个组框?

c# - 从 WinForms 程序显示控制台窗口

asp.net - 安装 ASP.NET MVC 4 Beta 后,Visual Studio 显示 "Updating source control status"

c# - 尝试通过安全透明方法 'Microsoft.Web.Helpers.PreApplicationStartCode.Start()' 访问安全关键方法

c# - 求一个ServiceStack/Razor的新手教程

asp.net-mvc - 在脚手架标识后禁用预构建的 Razor UI 页面