1
尝试通过延迟加载刚添加的实体获取属性失败。实体框架延迟加载失败,只是添加实体的属性
我到目前为止找到的唯一解决方案是对注释代码进行分解,换句话说就是创建另一个管理器,然后创建另一个上下文,因为每个管理器都有一个上下文实例,然后重新查询该实体。
我也尝试在所有经理之间创建一个共享上下文实例,但结果相同。 任何想法为什么重新创建上下文解决它,以及如何解决这个问题?
这里是我用来测试的代码:
IOrderManager ordManager = new OrderManager();
[TestMethod]
public void CategoryFromOrder()
{
Order order = new OrderBuilder()
.SetCategory(2)
.SetLegalForm(8)
.SetClientIdentifier(new Random().Next(11111111,99999999).ToString())
.SetLastName("Chaouachi")
.SetFirstName("Saif")
.SetQuantity(450)
.SetStatus(Order.StatusValues.New)
.SetAccountHolder("John")
.SetPrimaryKey(PrimaryKeyFactory.GetOrderPrimaryKey(null, 1, 2))
.Build();
int res = ordManager.AddOrder(order);
//ordManager = new OrderManager();
// order = ordManager.GetOrder(PrimaryKeyFactory.GetOrderPrimaryKey(res, 1, 2));
var categ = order.Category;
Assert.IsNotNull(categ);
}