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
太复杂,在某些情况下会导致性能问题.所以我总是使用where
EF 5.我应该检查find
用EF 5 生成的sql .
所以在论文中,find
因为他使用缓存更好.
归档时间: |
|
查看次数: |
14858 次 |
最近记录: |