【发布时间】:2020-11-13 21:24:52
【问题描述】:
我也使用实体框架核心从 .net Core 2.2 迁移到 3.1。 现在我有这样的东西,我不知道为什么更新不起作用(它在 2.2 中起作用):
public abstract class BaseEntity
{
public int Id { get; set; }
}
public class ObjA : BaseEntity
{
public int ObjBId {get; set; }
public ObjB ObjB {get; set; }
}
public class ObjB : BaseEntity
{
}
var listOfObjA = _dbContext.AObjects.Where(a => a.ObjBId == null);
if(listOfObjA.Any())
{
ObjB objB = new ObjB();
_dbContext.BObjects.Add(objB);
foreach(var objA in listOfObjA)
{
objA.ObjB = objB;
_dbContext.Entry(objA).CurrentValues.SetValues(objA);
}
_dbContext.SaveChanges();
}
代码运行时没有错误,但 ObjB(和 ObjBId)属性未更新,在 SaveChanges 和创建 ObjB 后为空。
【问题讨论】:
-
你能分享你的
AObject和ObjB吗? -
另外,你能发布你的错误信息吗?
标签: .net-core entity-framework-core