插入查找表

时间:2013-12-30 19:27:17

标签: c# asp.net-mvc entity-framework lookup-tables

我是实体框架的新手,我正在尝试使用下面3个表中的一些数据:DatabaseDiagram 问题是我发现很多对很多关系的aux表都没有被抽象到实体框架中。

问题:

我目前有可以创建好友的用户。如果他们创建了一个朋友实体框架,那么应该在Users_Friends中创建必要的条目。

但是!如果我让用户填写表单来创建朋友并且他们创建的朋友已经存在于朋友中,那么如果不是复制朋友,我们只是想插入Users_Friends。

在我看来,我正在通过这种方式:

  1. 抓取发布数据
  2. 如果Friend PhoneNumber已经存在则会重复。 (无需插入此朋友)
  3. 抓住这个匹配的朋友ID
  4. 将我们当前的用户ID插入Users_Friends,并插入匹配的朋友ID。
  5. 但是实体不允许我访问Users_Friends表。

    我确实通过另一篇文章找到了,但我可以选择与朋友关联的所有朋友:

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

    我无法弄清楚如何将FriendId和UserId插入Users_Friends。

1 个答案:

答案 0 :(得分:3)

你可以这样做:

var user = db.Users.Find(userID);
var friend = db.Friends.Find(friendID);
user.Friends.Add(friend);
db.SaveChanges();

Friend实例添加到User.Friends时,会告诉EF在保存时在连接表中插入记录。

相关问题