1

我在实体模型中公开了一些数据库视图,因为使用标准 OData 查询语法无法实现复杂的查询。我使用 WCF 数据服务将这些实体公开给第 3 方应用程序。基本上,有一些流程会改变我在 EF 层中的实体。我意识到表示数据库视图的实体不包含最实际的数据,因为它使用的是 EF 缓存并且没有从数据库加载数据。表示数据库表的实体始终是最新的。为了确保表示数据库视图的实体包含最实际的数据,AFAIK MergeOptions 必须设置为 NoTracking,然后 EF 在数据库中执行查询并忘记缓存的值。

现在我的问题。是否可以将服务操作中可用的 CurrentDataSource 与 MergeOptions 一起使用以强制 EF 忘记缓存的实体并每次在数据库中执行查询?或者是否有任何其他可能性来定义 EF 查询不应该使用缓存的实体值,而是执行 RAW SQL?

4

0 回答 0