C# 查询动态Linq

C# 查询动态Linq,c#,sql,linq,C#,Sql,Linq,我需要创建一个动态查询,其中变量DayOfWeek.Monday是动态的,如何设置 DataClassesPDataContext pe = new DataClassesPDataContext(); var qry = from p in pe.R join q in pe.V on p.V equals q.V_ where p.Data < data where q.I == `v` where p.

我需要创建一个动态查询,其中变量
DayOfWeek.Monday
是动态的,如何设置

DataClassesPDataContext pe = new DataClassesPDataContext();
var qry = from p in pe.R
          join q in pe.V on p.V equals q.V_
          where p.Data < data 
          where q.I == `v`
          where p.Data.DayOfWeek == `DayOfWeek.Monday`
          select(p.Q);

return qry.ToList().Average();
DataClassesPDataContext pe=newdataclassespdatacontext();
var qry=从p到pe.R
在p.V上加入q,p.V等于q.V_
其中p.Data
您可以将
DayOfWeek
提取到变量中

var day = DayOfWeek.Monday;

var qry = ...
      where p.Data.DayOfWeek = day

但是要注意<如果在调用Average()之前对
实体框架执行查询,则不能使用code>DayOfWeek

不要执行ToList(),因为这将首先将所有值拉入内存。相反,直接在查询上执行Average()来执行数据库中的所有计算。谢谢您的建议!