gpt4 book ai didi

entity-framework - EF构建EntityCollection,但我(想我)想要IQueryable

转载 作者:行者123 更新时间:2023-12-03 23:37:05 26 4
gpt4 key购买 nike

我有一个带有简单导航属性AB实体。对于任何给定的A实例,我们期望有几千个相关的B实例。

在任何情况下,我都不会这样称呼:

foreach(var x in A.B) { ... }

相反,我只对执行汇总操作感兴趣,例如
var statY = A.B.Where(o => o.Property == "Y");
var statZ = A.B.Where(o => o.CreateDate > DateTime.Now.AddDays(-1));

据我所知,EF实例化了对B的数千个引用,并在内存中进行了这些操作。这是因为导航属性使用EntityCollection。相反,我希望它尽可能在SQL级别执行这些查询。

我目前的预感是,导航属性可能不是正确的方法。我不喜欢EF,因此可以接受其他方法。但是,如果可能的话,我很想知道在EF下执行此操作的正确方法。

(我正在使用EF4。)

最佳答案

CreateSourceQuery似乎可以解决问题。

所以我的例子现在是:

var statY = A.B.CreateSourceQuery().Where(o => o.Property == "Y");
var statZ = A.B.CreateSourceQuery().Where(o => o.CreateDate > DateTime.Now.AddDays(-1));

关于entity-framework - EF构建EntityCollection,但我(想我)想要IQueryable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317879/

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