我正在使用EF 4.1并希望使用临时对象执行一些检查。
我遇到的问题是,一旦保存任何更改,这些对象就会被写回数据库。我试图分离对象,但随后整个对象图被粉碎,我无法访问检查所需的引用对象。
我的代码基本上是这样的:
createTempOrder()
{
Order order = new Order();
order.Customer = dbContext.Customers.Single(c => c.ID == cID);
dbContext.Detach(order);
return order;
}
是否有最佳实践来处理EF中的临时对象,还是需要覆盖分离过程?
提前致谢
答案 0 :(得分:0)
如果您不希望EF跟踪您的实体,可以使用AsNoTracking()方法:
order = dbContext.Orders.AsNoTracking().Single(o => o.ID == oID);
当然,如果Order是由EF管理的实体,那么这是有效的。