1

我想在 savechanges() 之前添加一个实体并获取它的身份,并在实体框架代码中的 savechanges 之前将其设置为另一个实体的外键。是否可以?

第一个模型

  public class A
{ 
   int AId { get; set; }
   string name { get; set; }
 }

第二个模型

  public class B
{ 
   int BId { get; set; }
   int AId { get; set; }
   string name { get; set; }
 }

和.....

 db.As.Add(A);
 b.AId = A.Aid;
 db.savechanges();

有没有文章解释它是如何工作的?

4

1 回答 1

1

声明 in 类型的A属性B

public class A
{ 
   int AId { get; set; }
   string name { get; set; }
}

public class B
{ 
   int BId { get; set; }

   virtual A A { get; set; }
   int AId { get; set; }

   string name { get; set; }
}

然后将实例分配A给该导航属性。EF 将确定实体的插入/更新顺序来解析 FK。

 b.A = a;
 db.As.Add(a);
 db.savechanges();
于 2012-07-20T07:12:58.167 回答