对。我的数据库表包含数千条记录,通过使用 EF 应用日期过滤器,我只读取了几十条记录。假设我的用户在 UI 中更改了其中一些,然后从 UI 更改日期范围以引入更多记录。日期过滤器控件直接绑定到我的 VM 的两个属性,称为 DateFrom 和 DateTo。这些属性依次执行此操作:
AllOrders = context.Orders.Where(Function(x) x.Date >= DateFrom AndAlso x.Date <= DateTo).ToList()
AllOrders 是我的 UI 的 DataContext 绑定到的属性。我的问题是,这种重新查询是否会丢弃我的本地更改?我应该在重新查询之前调用 SaveChanges() 吗?如果我只想在用户明确按下保存按钮时保存内容怎么办?