Jim*_*sse 29 .net performance entity-framework dbcontext
有没有之间的差异显著.Find(id),并.Where(x = >x.Id == id)应该强迫我使用.Find()过.Where()/.First()?
我认为.Find()这会更有效但是我应该避免这么高效.Where()/.First()吗?
我问的原因是我在我的测试中使用了一个通用的FakeDbSet,以便轻松实现假结果,到目前为止,我发现我必须继承该类并提供自定义实现,.Find()而如果我编写代码,.Where()/.First()我就不要我不需要做那些额外的工作.
tsc*_*007 44
关键是find通过在上下文的本地缓存中搜索然后,如果没有匹配,则向db发送查询.
where 始终向db发送查询.
使用EF 4.*,我曾经认为生成的sql find太复杂,在某些情况下会导致性能问题.所以我总是使用whereEF 5.我应该检查find用EF 5 生成的sql .
所以在论文中,find因为他使用缓存更好.
| 归档时间: |
|
| 查看次数: |
14858 次 |
| 最近记录: |