我想在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();
是否有任何文章解释它是如何运作的?
答案 0 :(得分:1)
在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();