我有以下实体结构:
public class Party
{
public Int32 PartyId { get; set; }
public List<PartyRelationship> RelationShips { get; set; }
}
public class PartyRelationship
{
public Int32 PartyId { get; set; }
public Int32 RelatedPartyId { get; set; }
}
现在,如果我创建一个Party对象的通用列表,例如List,如何根据列表编写LINQ查询,该列表将返回与基于RelatedPartyId的特定PartyId有关系的所有PartyRelationship对象? LINQ查询需要评估为Party定义的所有关系的RelatedPartyId,并将其与我正在搜索的特定PartyId进行比较。找到匹配项后,我希望特定的PartyRelationship对象返回结果。顺便说一下,可以发生多场比赛。
任何人都可以提供一些有关我如何做到这一点的见解吗?
任何帮助都将不胜感激。
由于
答案 0 :(得分:3)
你的意思是:
var query = from party in parties // the list
where party.RelationShips != null // overkill???
from related in party.RelationShips
where related.RelatedPartyId == id
select related;