【发布时间】:2017-10-31 20:05:57
【问题描述】:
我有以下代码用于编辑用户所在的部门。出于某种原因,method1 导致 EF 尝试再次插入关系(并导致主键错误),其中method2 成功。
为什么method1的代码不知道通过重新赋值,我只想要新的部门集合? method2 是更新值的首选方法吗?对于一对多的关系,我不必这样做。
public class User
{
public string name { get; set; }
public virtual List<Department> Departments { get; set; }
}
public class Department
{
public string name { get; set; }
public virtual List<User> Users { get; set; }
}
public void Method1(list<Department> departments, string userId)
{
var user = DbContext.Users.FirstOrDefault(u=> u.Id == userId);
user.departments = departments;
db.SaveChanges()
}
public void Method2(list<Department> departments, string userId)
{
var user = DbContext.Users.FirstOrDefault(u=> u.Id == userId);
user.departments.clear();
user.departments = departments;
db.SaveChanges()
}
【问题讨论】:
标签: c# entity-framework