【发布时间】:2016-04-15 08:46:09
【问题描述】:
我正在使用以下内容来尝试查找与特定组织关联的单个成员记录;
var dataRow = db.Organisation
.Include(x => x.Member.Select(m => m.Guid == MemberGuid))
.Where(x => x.Guid == OrganisationGuid)
.FirstOrDefault();
但是这会引发以下错误;
“包含路径表达式必须引用在类型上定义的导航属性。引用导航属性使用虚线路径,集合导航属性使用选择运算符。参数名称:路径”
包含路径有效,如果我取出“.Select(m => m.Guid == model.MemberGuid)”,它会返回组织的成员集合,然后我必须对其进行处理以找到所需的成员.
有没有办法在不返回整个集合的情况下找到特定成员?
【问题讨论】:
-
我认为您可能希望以不同的方式构建查询,并避免在这种情况下使用 Include,如果您提供更多关于您希望从每个集合中获取哪些数据的信息,我可以帮助您.
-
OrganizationMember 表使用 OrganisationMember 表具有多对多关系,该表当然不会显示在 EF6 中,因为它是一个导航属性。所以我试图确定一个组织是否有一个特定的成员 - 我不想从包含返回整个成员集合。
标签: c# linq entity-framework-6