gpt4 book ai didi

.net - Entity Framework 查找与位置

转载 作者:行者123 更新时间:2023-12-03 09:21:52 25 4
gpt4 key购买 nike

.Find(id)之间是否存在显着差异和 .Where(x = >x.Id == id)这应该迫使我使用 .Find().Where()/.First() ?

我会想象 .Find()会更有效,但它是否更有效,我应该避免 .Where()/.First() ?

我问的原因是我在测试中使用了通用 FakeDbSet 来轻松实现假结果,到目前为止我发现我必须继承该类并提供 .Find() 的自定义实现。而如果我用 .Where()/.First() 写我的代码我不需要做那些额外的工作。

最佳答案

重点是find首先在上下文的本地缓存中搜索,然后,如果不匹配,则向数据库发送查询。
where总是向数据库发送查询。

用EF 4.*,我以前以为是find生成的sql太复杂,在某些情况下,会导致性能问题。所以我总是用 where即使使用 EF 5。我应该检查 find 生成的 sql使用 EF 5。

所以在论文中,find更好,因为他使用缓存。

关于.net - Entity Framework 查找与位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16966213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com