C# EF6检查指定日期是否存在记录

C# EF6检查指定日期是否存在记录,c#,entity-framework-6,C#,Entity Framework 6,我正在为已填充的表生成统计表。EUR是源表,Stats是目标表 我希望每天在目标表中有一行,源表中有记录 我有这段代码 DateTime dt = date.Date; // Source Date destinationRow = dme.Statistics.FirstOrDefault(d=>d.DateString.Date==dt);//是否存在当天的行? 因此,我迭代源表中的每一行,并获取日期,然后我尝试查看源表中是否有该日期的行,但EF

我正在为已填充的表生成统计表。EUR是源表,Stats是目标表

我希望每天在目标表中有一行,源表中有记录

我有这段代码

 DateTime dt = date.Date; // Source Date
                    destinationRow = 
dme.Statistics.FirstOrDefault(d=>d.DateString.Date==dt);//是否存在当天的行?


因此,我迭代源表中的每一行,并获取
日期
,然后我尝试查看源表中是否有该
日期
的行,但EF抱怨我无法在查询中使用
日期

那么,如何在不查询表两次的情况下检查目标表中具有特定
日期的行呢。一旦要获取日期时间,转换它并进行检查,然后进一步更新或创建行?

您可以使用如下方法:

var result = dme.Statistics
    .FirstOrDefault(d =>
        DbFunctions.TruncateTime(d.DateString) == dt);

看看这个方法。“但是EF抱怨我不能在查询中使用日期。”去掉.Date部分,你的答案就很好了。这么久了,我忘记了所有的函数!!:P