实体框架:在保存更改之前重新查找源代码

时间:2013-03-02 14:29:09

标签: wpf vb.net entity-framework

右。我的数据库表包含数千条记录,我通过使用EF应用日期过滤器只读了几十个。假设我的用户在UI中更改了其中的一些,然后从UI更改日期范围以引入更多记录。日期筛选器控件直接绑定到我的VM的两个属性DateFrom和DateTo。这些属性反过来这样做:

AllOrders = context.Orders.Where(Function(x) x.Date >= DateFrom AndAlso x.Date <= DateTo).ToList()

AllOrders是我的UI的DataContext绑定的属性。我的问题是,这种重新征服会丢掉我当地的变化吗?我应该在重新查询之前调用SaveChanges()吗?如果我只想在用户明确按下“保存”按钮时保存内容,该怎么办?

1 个答案:

答案 0 :(得分:0)

如果您使用的是ObjectContext,则可以使用MergeOption告诉EF如何处理实体。如果您使用的是DbContext,我相信您可以使用.AsNoTracking()。在任何情况下,您都应该考虑使用短期上下文而不是长期上下文。