如何自动定义导航属性?

时间:2017-02-05 17:37:07

标签: c# entity-framework entity-framework-6

让这两个班,

父类

class Parent{

    [Key]
    public int Id { get; set; }

    public virtual ICollection<Child> child { get; set; }
 }

和一个儿童班

class Child {

    [Key]
    public int Id { get; set; }

    [ForeignKey("Parent")]
    public int Parent_Id { get; set; }

    public Parent Parent{ get; set; }
}

我想设置一个像这样的新子类:

var child = new Child();
MyParentInstacnce.child.Add(child)

但是,当我设置父类状态时。

db.Entry(child).State = System.Data.Entity.EntityState.Added;
db.Entry(MyParentInstacnce).State = System.Data.Entity.EntityState.Modified;

我得到了一个错误的错误:

  

附加信息:发生了参照完整性约束违规:&#39; Parent_Id&#39;的属性值。在一段关系的一端与'Parent.Id&#39;的财产价值不匹配。在另一端。

解决了这个问题,将child.Parent_Id的值设置为当前父ID。

我想知道是否可以以某种方式使EntityFramework通过MyParentInstacnce.child.Add(child)

自动设置关系属性

如何配置Entity Framework以自动定义导航属性?

OBS

Entify Frameworks能够实现这一目标。您需要做的就是不要创建导航属性。然后导航将在引擎盖下,EF将完成所有工作。但是在这种情况下,我真的需要能够阅读导航属性。

0 个答案:

没有答案