如何使用linq更新一对多关系

时间:2015-03-24 10:50:42

标签: c# sql linq

我有两个表:User和Com。它们之间的关联是这样的:用户有一个具有多重性0..1的navigationProperty BaseCom,还有一个可以为空的属性BaseCom_int_id。 Com有一个navigationProperty Users,它具有多重性*(很多)。

现在用户表有一条记录User1,Com表有两条记录Com1和Com2。 User1现在链接到Com1。但我想更新记录,以便User1不再链接到Com1而是链接到Com2。

使用LINQ for SQL实现此目的的最佳方法是什么?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要检索新的Com对象并将其设置为User的值。这样的事可能呢?

var user = db.Users.Where(x => x.Name == "User1").Single();
var com = db.Coms.Where(x => x.Name == "Com2").Single();

user.BaseCom = com;

db.SubmitChanges();