[英]Entity Framework SQL Query Execution
使用实体框架,当一个人执行查询时,可以说2000条记录需要groupby和其他一些计算,查询是否在服务器上执行,只有结果发送到客户端,或者全部发送到客户端和然后执行?
这使用SQL Server。
我正在研究这个问题,因为我将要开始一个项目,在这个项目中,如果使用实体框架,在庞大的数据库上需要大量的查询,并想知道这是否会在网络上产生大量负载。
它总是在SQL Server上执行。 这也意味着有时你必须改变这个:
from q in ctx.Bar
where q.Id == new Guid(someString)
select q
至
Guid g = new Guid(someString);
from q in ctx.Bar
where q.Id == g
select q
这是因为构造函数调用无法转换为SQL。
Sql的groupby和linq的groupby返回不同形状的结果。
Sql的groupby返回密钥和聚合(没有组成员)
Linq的groupby返回密钥和组成员。
如果您使用这些组成员,则必须通过分组键(重新)提取它们。 这可能导致每组 +1数据库往返。
好吧,前段时间我有同样的问题。 基本上:你的linq语句转换为sql语句。 但是:有些小组会被翻译,有些则不会 - 取决于你如何写你的陈述。
是的 - 两者都有可能
例:
var a = (from entity in myTable where entity.Property == 1 select entity).ToList();
与
var a = (from entity in myTable.ToList() where entity.Property == 1 select entity).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.