当我在数据库中保存一个对象然后检索保存的对象时,它显示所有空子对象。
我使用 Entity Framework 6,我一直使用下面示例中所示的查询,并且它始终正常工作,但我不明白为什么此查询显示空子对象。
public car save_car(car data)
{
if (data.id_car == 0)
{
_contextDrag.car.Add(data);
_contextDrag.SaveChanges();
}
else
{
_contextDrag.SaveChanges();
}
return data;
}
public car get_car(long id_car)
{
car data = _contextDrag.car.FirstOrDefault(a => a.idCar == id_car);
return data;
}
最佳答案
那是因为你重用了你的 _contextDrag
用于多个操作。当您调用 save_car
- 保存的汽车存储在上下文中。当您随后调用 get_car
- 返回相同 汽车实例。如果它的所有子属性都为空(例如是您添加的新实体)- 它的所有子属性仍为空,并且延迟加载将不起作用,因为它与您在 save_car
中拥有的实体完全相同。 .与往常一样,最好的方法是永远不要重用您的上下文。
关于c# - Entity Framework : after SaveChanges returned object doesn't have children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42948190/