我有以下模型:
public class Job
{
[Key]
public int JobID { get; set; }
public string Status { get; set; }
public DateTime JobDate { get; set; }
public string JobTitle { get; set; }
public int? Cleaner { get; set; }
public int? Client { get; set; }
public int EstTime { get; set; }
public virtual Client ClientInfo { get; set; }
public virtual Valeter ValeterInfo { get; set; }
}
这在 OnModelCreating 中:
// Relationship Job -> Valeter
modelBuilder.Entity<Job>()
.HasOptional<Valeter>(u => u.ValeterInfo)
.WithMany()
.HasForeignKey(e => e.Cleaner);
(注意:它使用的是现有数据库)。当我尝试执行以下操作时:
if (ModelState.IsValid)
{
db.Entry(job).State = EntityState.Modified;
db.SaveChanges();
}
它通常工作正常,除非我将 Cleaner 值更改为其他值,然后我得到错误:
发生参照完整性约束冲突:定义参照约束的属性值在关系中的主体对象和从属对象之间不一致。