实体框架使用临时对象

时间:2014-03-06 11:04:40

标签: c# entity-framework

我正在使用EF 4.1并希望使用临时对象执行一些检查。

我遇到的问题是,一旦保存任何更改,这些对象就会被写回数据库。我试图分离对象,但随后整个对象图被粉碎,我无法访问检查所需的引用对象。

我的代码基本上是这样的:

createTempOrder()
{
    Order order = new Order();
    order.Customer = dbContext.Customers.Single(c => c.ID == cID);
    dbContext.Detach(order);
    return order;
}

是否有最佳实践来处理EF中的临时对象,还是需要覆盖分离过程?

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您不希望EF跟踪您的实体,可以使用AsNoTracking()方法:

order = dbContext.Orders.AsNoTracking().Single(o => o.ID == oID);

当然,如果Order是由EF管理的实体,那么这是有效的。