我有2个实体A和B。它们没有关联。
public partial class A
{
public string code { get; set; }
public string description { get; set; }
}
对于实体B,我已经通过使用部分类对其进行了扩展,以便放置指向实体A的导航属性:
public partial class B
{
public A customExtProperty{ get; set; }
}
现在,我有一个类型为B的对象c,并对其执行以下语句(我更新了一些属性):
public void UpdateCustomProperties(B c)
{
c.customExtProperty = dbContext.A.FirstOrDefault(x => x.code == "9999");
c.customExtProperty.code = myCutomCode;
c.customExtProperty.description = myCustomDescription;
}
考虑到以上代码段,我对此有以下疑问:
答案 0 :(得分:1)
部分类,以便放置指向实体A的导航属性:
在部分类定义中定义的导航属性没有什么不同。这是常规的导航属性。
代码和描述字段上的更改是否适用于模型?还是仅应用于对象c本身?
如果DbContext的c为tracked,则当您调用DbContext.SaveChanges()时,对c的更改将应用于数据库。之后,更改将对其他进程和其他DbContext实例可见。