Ada*_*kis 10 entity entity-framework-4
如果我有一个实体框架4上下文,通常如果我运行了如下查询:
db.Invoices.Where(I => whatever);
Run Code Online (Sandbox Code Playgroud)
然后再运行其他东西:
db.Invoices.Where(I => something_else);
Run Code Online (Sandbox Code Playgroud)
从第一个查询返回的任何对象也将从数据库中加载.EF将只获取该密钥已有的对象.
问题,关闭此功能的最佳方法是什么?我可以告诉EF从数据库加载它所需的每个对象,毫无例外吗?
谢谢!
您需要更改实体的MergeOption设置,例如
db.Invoices.MergeOption = MergeOption.OverwriteChanges;
Run Code Online (Sandbox Code Playgroud)
OverwriteChanges表示始终从数据源加载对象.您还可以使用NoTracking完全禁用跟踪,如果您不需要更新数据或重新使用查询,则可以提高性能.默认值是AppendOnly您观察到的行为.
| 归档时间: |
|
| 查看次数: |
5278 次 |
| 最近记录: |