繁体   English   中英

如何在实体中使用查找表?

[英]How to use a lookup table in entity?

我已将数据库导入实体。 一切都很好,除了我的查找表不再容易访问了。

示例我有一个Users表和一个Friends表。 许多唯一用户可以拥有相同的朋友。 为了解决这个问题,我有一个由2列(UserID和FriendID)组成的Users_Friends表。

我希望能够针对唯一的用户ID查询该表,以提取与该特定用户关联的所有FriendID。 但是当我尝试去做

using (var db = new GameAlertDBEntities())
{
    var friendIDs = db.Users_Friends.
}

我立即被告知无法解析符号Users_Friends。 我在这里停下来试图弄清楚在前进之前如何解析符号。 奇怪的是,足够多的实体找到了我所有的其他表,而没有一个查找表。

多对多关系aux表未抽象为EF表。 相反,您可以像这样直接访问相关实体的列表:

using (var db = new GameAlertDBEntities())
{
    var user = db.Users.First(); // or any other query for user
    var friends = user.Friends;
}

这是怎么发生的? 实体框架会在导入期间识别此类关系,并在后台进行所有工作。

如果UserId和FriendId未标记为外键,则必须通过简单查询来查找朋友

var userFriends = db.Users.Friends.ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM