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



我正在为已经填充的表生成一个统计表。EUR 是源表,统计信息是目标表。

我想要目标表中的每一天都有记录的目标表中的一行。

我有这段代码

 DateTime dt = date.Date; // Source Date
                    destinationRow = 

dme.Statistics.FirstOrDefault(d => d.DateString.Date == dt); // Does a row for this day exist?

所以我循环访问源表中的每一行并获取Date然后我试图查看源表是否有该Date的行 - 但 EF 抱怨我不能在查询中使用Date

那么,如何在不查询表两次的情况下检查目标表中具有特定Date的行。一次获得DateTime,转换并检查,还有时间更新或创建行?

你可以像这样使用 TruncateTime 方法:

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

最新更新