我现在有两个实体是1对多的关系:testmain和testref
public class TESTMAIN { public TESTMAIN() { this.TESTREFs = new List<TESTREF>(); } public int ID { get; set; } public string A { get; set; } public string B { get; set; } public string C { get; set; } public virtual ICollection<TESTREF> TESTREFs { get; set; } } public class TESTREF { public int ID { get; set; } public string A { get; set; } public Nullable<decimal> TEST { get; set; } public Nullable<int> REFID { get; set; } public virtual TESTMAIN TESTMAIN { get; set; } } //map中的配置 this.HasOptional(t => t.TESTMAIN) .WithMany(t => t.TESTREFs) .HasForeignKey(d => d.REFID); ///////////////////////////////////////////////// TESTREF ref1 = new TESTREF() { A = "test", TEST = 1 }; TESTREF ref2 = new TESTREF() { A = "test2", TEST = 2 }; TESTMAIN main1 = new TESTMAIN() { A = "main" };
当我attach这个main1这个实体就报错"违反了引用完整性约束: 在此关系的主对象和依赖对象之间,定义引用约束的属性值不一致。"
这是怎么回事
就是从表对象的外键ID值和主表对象的ID值不一致.