【发布时间】:2017-03-12 10:06:36
【问题描述】:
我有两个表:Tasks 和 Users (ApplicationUser),它们之间存在多对多关系,我使用的是 Microsoft Identity 的预定义表用户,
当我更新现有的Task 并为其分配新用户时:
var taskToUpdate = context.Tasks.Find(taskVM.Id);
context.Entry(taskToUpdate).State = EntityState.Modified;
taskToUpdate.Users = new List<ApplicationUser>();
foreach (var user in taskVM._Users)
{
var userDB = context.Users.Find(user.Id);
context.Entry(userDB).State = EntityState.Unchanged;
taskToUpdate.Users.Add(user);
}
context.SaveChanges();
但是当SaveChanges 被调用时,我得到了这个错误:
一个或多个实体的验证失败。看 'EntityValidationErrors' 属性以获取更多详细信息。
在 EntityValidationErrors 中:
ErrorMessage = "用户名 Sohaib 已被占用。" 属性名用户
【问题讨论】:
标签: entity-framework ef-code-first asp.net-identity