【发布时间】:2011-01-28 21:13:59
【问题描述】:
我正在尝试修改以下查询以从多个表中返回数据。
我有一个主联系人表,其中存储了所有联系人详细信息。公司也存储在联系人表中。公司被映射到名为 CompanyPersonMap 的连接表中的联系人。
我还有一个属性表,其中为联系人分配了某些属性,每个联系人可能有很多属性。
现在,我想返回分配了特定属性的所有联系人,以及在联系人表的不同行中找到的人的公司名称和地址。
此代码有效,但仅返回contactId。可以满足我的需要,但我不知道如何根据上述要求对其进行修改。
var peopleAndAddresses = Contacts.Where(c => c.AssignedAttributes
.Any (aa => aa.AttributeID == 1153))
.Select(x => x.ContactID);
对此有何建议?
谢谢!
编辑-
我尝试使用 .Select() 语句并通过 PersonOrgMap 表找到从联系人到其组织的路径。不幸的是,我无法获得有关该组织的任何数据。我尝试了 .Any()、.All() 和 .FirstOrDefault()。有什么建议吗?
.Select (c => new {c.FirstName, c.LastName, c.PersonOrgMap.FirstOrDefault (pom => pom.ChildContactID) })
【问题讨论】:
标签: linq entity-framework entity-framework-4