1

我有两张桌子:

Relationships (ID,   UserID,   Type,   Contact ID)   

Contacts (ID,   Name,  Address) 

当Relationship 表中的type 为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 仅适用于代码优先进程。

4

1 回答 1

1

您可以使用 relatonships 和 contacts 表来使用 followng linq 语句来获取给定 userID(假设 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;
于 2013-01-05T07:21:42.753 回答