我已将数据库导入实体。一切都很好,除了我的查找表不再容易访问。
示例我有一个Users表和一个Friends表。许多独特的用户可以拥有相同的朋友。为了解决这个问题,我有一个Users_Friends表,包含2列(UserID和FriendID)。
我希望能够针对唯一的userID查询此表,以提取与该特定用户关联的所有FriendID。但是当我尝试做的时候
using (var db = new GameAlertDBEntities())
{
var friendIDs = db.Users_Friends.
}
我马上告诉无法解析符号Users_Friends。我在那里试图找出如何在前进之前解决符号。奇怪的是,实体发现我的所有其他表都不是我的查找表。
答案 0 :(得分:1)
多对多关系辅助表不会被抽象到EF表中。相反,您可以直接加入相关实体列表,如下所示:
using (var db = new GameAlertDBEntities())
{
var user = db.Users.First(); // or any other query for user
var friends = user.Friends;
}
这是怎么发生的?实体框架在导入期间识别这种关系,并完成幕后的所有工作。
答案 1 :(得分:0)
如果UserId和FriendId未标记为外键,则必须通过简单查询找到朋友
var userFriends = db.Users.Friends.ToList();