【问题标题】:Entity framework DateTime.Now - 7 days C#实体框架 DateTime.Now - 7 天 C#
【发布时间】:2014-03-29 03:43:44
【问题描述】:

我尝试使用 c# 中的实体框架获取过去 7 天我的 mssql 表的条目。

为此我尝试过:

var query = context.tbl.Where(fld => fld.date >= (DateTime.Now.AddDays(-7)));

这根本不起作用。 我认为如果记录中的日期大于或等于 date.now - 7 天,它应该将过去 7 天的所有条目归还给我。

【问题讨论】:

  • “根本不起作用”并不是症状描述。
  • fld.date是什么sql类型?
  • 我认为错误消息是:mscorlib.dll 中出现“System.NotSupportedException”类型的异常。但不知道这是否是正确的错误信息。 mssql中的sql类型是datetime

标签: c# .net entity-framework frameworks


【解决方案1】:

DateTime.AddDays() 无法通过实体框架转换为存储表达式。当你说它不起作用时,我假设这就是你的意思?

试试这个:

var dateTime = DateTime.Now.AddDays(-7);
var query = context.tbl.Where(fld => fld.date >= dateTime);

【讨论】:

  • 您还可以使用 Entity 自己的 System.Data.Entity.DbFunctions 库,它将常用函数映射到其本机 SQL 等效项。它具有AddDays 等功能。 msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 2017-01-23
  • 2016-04-16
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2016-07-12
  • 2016-03-09
  • 2015-04-20
相关资源
最近更新 更多