使用 Entity Framework ,当一个人对 2000 条记录执行查询时需要 groupby 和一些其他计算,查询是在服务器上执行并且只将结果发送到客户端还是全部发送到客户端然后执行?
这使用 SQL Server。
我正在研究这个问题,因为我将开始一个项目,在这个项目中,一个巨大的数据库需要大量的查询,我想知道如果使用 Entity Framework 。
最佳答案
我认为所有数据库查询都是在服务器端(数据库所在的位置!)完成的,结果会被传递过来。但是,在 Linq 中,您拥有所谓的 Delayed Execution。 (延迟加载)因此在您尝试访问它之前实际上不会检索您的信息,例如调用 ToList() 或访问属性(相关表)。
您可以选择使用 LoadWith如果需要,可以进行预加载。
因此,就性能而言,如果您真的只想为查询(具有相关表)访问数据库 1 次,我建议使用 LoadWith
选项。但是,这确实取决于具体情况。
关于c# - Entity Framework SQL 查询执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065030/