C# 具有数据错误条件的Linq('Date'在Linq中不受支持)

C# 具有数据错误条件的Linq('Date'在Linq中不受支持),c#,linq,entity-framework,C#,Linq,Entity Framework,我使用LINQ语句根据数据值从表中获取一些数据: var oDay = diabeticDB.user_data .Where(y => y.date >= DateTime.Now.Date & y.BG != null & y.userid == u) .Average(

我使用LINQ语句根据数据值从表中获取一些数据:

var oDay = diabeticDB.user_data
                     .Where(y => y.date >= DateTime.Now.Date
                            & y.BG != null
                            & y.userid == u)
                     .Average(x => x.BG).Value;
我得到以下错误:

LINQ to实体中不支持指定的类型成员“日期”。仅支持初始值设定项、实体成员和实体导航属性


其中包含的表达式。。。已转换为SQL,执行此转换的EF查询提供程序不理解DateTime.Now.Date

不过,表达式可以包含特定的值-因此为今天的日期创建一个局部变量并使用该变量:

var today = DateTime.Now.Date;

var oDay = diabeticDB.user_data
    .Where(y => y.date >= today & y.BG != null & y.userid == u)
    .Average(x => x.BG).Value;

其中包含的表达式。。。已转换为SQL,执行此转换的EF查询提供程序不理解DateTime.Now.Date

不过,表达式可以包含特定的值-因此为今天的日期创建一个局部变量并使用该变量:

var today = DateTime.Now.Date;

var oDay = diabeticDB.user_data
    .Where(y => y.date >= today & y.BG != null & y.userid == u)
    .Average(x => x.BG).Value;

这不是常数。@DanielA.White表达式中使用的值在表达式树中是常数,而不是每次都是相同的值。@CharlesMager你是对的,但使用这个词仍然有点误导。谢谢两者-我已经重新编写以避免混淆!这不是常数。@DanielA.White表达式中使用的值在表达式树中是常数,而不是每次都是相同的值。@CharlesMager你是对的,但使用这个词仍然有点误导。谢谢两者-我已经重新编写以避免混淆!