【发布时间】:2017-12-07 15:05:56
【问题描述】:
我对实体框架有奇怪的问题。我正在尝试更新我的实体User,它与Team 具有多对多关系。当我尝试向用户添加一些团队(存在于数据库中)时,数据库中没有任何变化。但是,当我从用户中删除所有团队时,它会保留到数据库并且用户没有任何团队。为什么添加不持久?有什么想法吗?
public int Save(User entity)
{
using (var context = new UsersContext())
{
var teamIds = entity.Teams.Select(t => t.Id).ToArray();
context.Entry(entity).State = EntityState.Modified;
context.Entry(entity).Collection(u => u.Teams).Load();
entity.Teams.Clear();
foreach (var teamId in teamIds)
{
entity.Teams.Add(context.Teams.Find(teamId));
}
return context.SaveChanges();
}
}
【问题讨论】:
标签: c# entity-framework