7

我有这样的事情:

var dbTransactions = context.Transactions.Where(t => t.Date >= yesterday).Select(t => t).ToList();

现在,我想从dbTransactions列表中删除对象,而不是从实际数据库中删除。后来我打电话context.SaveChanges(),如果我这样做,它会从我的数据库中删除行。如何禁用更改跟踪dbTransactions

4

2 回答 2

9

我认为您可以使用AsNoTracking并且对于交易使用 Detach

Youcontext.YourEntities.AsNoTracking().Where);

或使用

Youcontext.Transactions.Detach(obj);
于 2013-03-04T19:21:16.937 回答
0

使用以下方法从上下文中删除这些实体Detach()

context.Transactions.Detach(obj);

很明显,您将不得不恢复该列表-但随后只需遍历它并分离它们即可。

于 2013-03-04T19:18:53.023 回答