使用Entity Framework,我正在编写一个社交网络应用程序并尝试设置一些关系,以便我可以让用户拥有关注者/关注者属性。
我有一个用户表:
Users
_______
Id
FirstName
LastName
Email
然后我有一张Follows表:
Follows
__________
FollowerId
FolloweeId
在强类型的User对象上,我想看到.Followers和.Folllowing属性,它们返回User对象的集合。到目前为止,我已经尝试将Follows表中的列作为外键,并将它们作为复合主键。实体模型以我想要的方式出现(我之间没有实体,我只需要重命名导航属性),但是当我填充数据时,Followers和Following集合是空的,所以这种关系是不对的。
我想我可以分开并有两个表,关注者和关注者,但我会有重复的数据,并且当有人跟随其他人时,必须添加到两个表。
答案 0 :(得分:2)
您需要在查询中包含User表与之关系的表的数据。
像这样的查询:
using (EntityObject context = new EntityObject())
{
var user = from x in context.users.Include("Followers").Include("Followees") //use your tables
where x.Id == TheUserId
select x;
}
将允许您访问这些包含的表的对象。