Asp.net core 无法在实体框架.Net Core 3.1中插入重复的Id
我将.NETCore3.1与EntityFramework一起使用,我遇到了这个错误 违反主键约束(约束名称)。无法在对象“dbo.TableName”中插入重复的键。重复的键值为(Guid键)。Asp.net core 无法在实体框架.Net Core 3.1中插入重复的Id,asp.net-core,entity-framework-core,Asp.net Core,Entity Framework Core,我将.NETCore3.1与EntityFramework一起使用,我遇到了这个错误 违反主键约束(约束名称)。无法在对象“dbo.TableName”中插入重复的键。重复的键值为(Guid键)。 声明已终止 当我试图从数据库中检索对象并将其作为相关数据分配给新对象时 例如: Employee employee = await _context.Employees .Where(e => e.Id == id)
声明已终止 当我试图从数据库中检索对象并将其作为相关数据分配给新对象时 例如:
Employee employee = await _context.Employees
.Where(e => e.Id == id)
.Include(e => ed.Company).FirstOrDefault();
EmployeeStatus employeeStatus = new EmployeeStatus();
employeeStatus.Status = "BlackListed";
employeeStatus.StartedFrom = DateTime.Now();
employeeStatus.Employee = employee;
await _context.EmployeeStatuses.AddAsync(employeeStatus);
await _context.SaveChangesAsync();
所以,我得到了一个错误,因为我不能有一个重复的公司Id,但当我更换这一行
employeeStatus.Employee = employee;
用这个
employeeStatus.EmployeeId = employee.Id;
它工作得很好
所以,这是一个跟踪问题,还是我的代码序列中有一些错误,无法创建新对象并为其分配相关数据
注意:在使用.Net Core 2.2时,我很少遇到这个问题,但在迁移到.Net Core 3.1之后,我遇到了类似的情况
提前谢谢