在使用EF Code First时,有两种变更跟踪选项:
使用每种更改跟踪方法运行时,请考虑以下代码.假设具有默认配置选项的DbContext实例.
var o = context.MySet.First();
o.MyProperty = 42;
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
如果由第一行上下文加载和跟踪的实体实例对于"MyProperty"已经具有值42,则在第三行的"SaveChanges"调用期间,其在更改跟踪器中的状态是不同的.
鉴于在基于通知的变更跟踪下,在调用"SaveChanges"期间将向数据库发送不必要的更新语句我设想大多数开发人员更喜欢基于快照的变更跟踪的行为.
这种行为的意义是否有意?
当使用基于通知的代理更改跟踪时,是否有办法实现与基于快照的更改跟踪相同的行为?
请注意,我认为这与此功能建议有关 - http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/1015363-better-change-tracking-for-poco-proxies
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |