我想知道你是否可以提供帮助。当我拨打.Include()
时,我收到了上述错误。当我加入tblMemberships
时,它会中断。
this.dbContext.Configuration.LazyLoadingEnabled = false;
List<tblCustomerInfo> customers = this.dbContext.tblCustomerInfoes.Include("tblUsers").Include("tblMemberships").ToList();
原因是因为tblCustomerInfo
和tblMemberships
之间的导航属性不存在。 tblUsers
是其他两个表之间的链接。
Customer -- 1:* -- User -- 1:* -- Membership
(抱歉,不能将图片作为我的声誉&lt; 10)。
我的问题是:
tblMemberships
,我需要做什么?我正在使用EF5,ASP .NET MVC 4
请告知。谢谢。
答案 0 :(得分:3)
当你编写这样的代码时:
db.ParentTable
.Include("ChildTable")
.Include("ChildOfChildTable");
您说的是ChildTable
中包含ParentTable
所有关键字的所有条目,并且还包括ChildOfChildTable
中所有与ParentTable
关联的条目。相反,您需要告诉实体框架ChildOfChildTable
在层次结构中位于ChildTable
之下,如下所示:
db.ParentTable
.Include("ChildTable.ChildOfChildTable");
所以这意味着你的代码应该是:
this.dbContext.Configuration.LazyLoadingEnabled = false;
List<tblCustomerInfo> customers = this.dbContext.tblCustomerInfoes
.Include("tblUsers.tblMemberships")