我有两张桌子:
Relationships (ID, UserID, Type, Contact ID)
Contacts (ID, Name, Address)
当关系表中的类型为5时,Contact ID是Contacts表中的ID。
我想获取特定用户的所有联系信息
这就是我所拥有的:
IEnumerable<Relationship> rels = user.Relationships.Where(r => r.Type==5)
foreach (Relationship r in rels)
{
contact = contactRepository.Find(r.ContactID); // Returns Contact Object
Relation relation = new Relation(r, contact);
RelationList.Add(relation);
}
这是正确的方法吗?
我见过其他提到TPC的帖子。但是,我并不十分了解所有这些,而且似乎TPC仅适用于代码优先处理。
答案 0 :(得分:0)
您可以通过使用关键字和联系人表来使用followng linq语句来获取给定用户ID的联系人(假设UserID = 15):
var contacts=from r in Relationships
join c in Contacts on r.ContactID equals c.ID
where r.Type=5 and r.UserID=15
select c;