使用实体框架和MSSQL AVG()函数

使用实体框架和MSSQL AVG()函数,sql,c,sql-server-2008,entity-framework,average,Sql,C,Sql Server 2008,Entity Framework,Average,我有这行代码(使用MSSQL): double avg=db.MyTable.Where(x=>x.RecordDatez.value.Average(); 我想知道这是转换为SQLAVG()函数还是在客户端运行Average() 这个表每天包含50000条记录,我更喜欢让数据库计算平均值并只传回一个值 还有,如何查看发送到数据库的SQL查询?如果不枚举queryable,是的,average将在数据库端执行 您还可以简化代码。不需要选择,将表达式(或十进制,int…)作为参数会导致平均值过载

我有这行代码(使用
MSSQL
):

double avg=db.MyTable.Where(x=>x.RecordDatez.value.Average();
我想知道这是转换为
SQL
AVG()
函数还是在客户端运行
Average()

这个表每天包含50000条记录,我更喜欢让数据库计算平均值并只传回一个值


还有,如何查看发送到数据库的
SQL
查询?

如果不枚举
queryable
,是的,
average
将在数据库端执行

您还可以简化代码。不需要选择,将
表达式
(或十进制,int…)作为参数会导致平均值过载

double avg = db.MyTable.Where(x => x.RecordDate < today).Average(z => z.value);
double avg=db.MyTable.Where(x=>x.RecordDatez.value);
它们有很多方法可以查看生成的sql,例如,您可以在google上搜索
sql生成的linq
,或者查看一下

double avg = db.MyTable.Where(x => x.RecordDate < today).Average(z => z.value);