【问题标题】:AddDays is LINQ to SQLAddDays 是 LINQ to SQL
【发布时间】:2012-12-10 15:58:11
【问题描述】:

我正在尝试在 Where 子句中使用 LINQ to SQL 中的 AddDays 函数。

我需要返回大于当前日期加上用户定义范围的所有结果。

这是我的代码。

Where (DateTime.Now >= DateTime.Now.AddDays(UserEnteredDaysToAdd)

我做错了什么?还是有可能?

谢谢,

编辑: 对不起,我犯了一个错误。我想获取当前日期和用户输入或存储在数据库中的天数之间的所有记录。

所以它应该读作 Where (StockOrderDate >= DateTime.Now.AddDays(UserEnteredDaysToAdd))

【问题讨论】:

  • 不应该 DateTime.Now 而是对列表对象的属性/字段的引用?

标签: sql vb.net linq


【解决方案1】:

让我们看看您的查询:

Where (DateTime.Now >= DateTime.Now.AddDays(UserEnteredDaysToAdd))

除了没有正确的身体外,您还要检查今天是否大于或等于今天加上 x 天。如果您不允许 UserEnteredDaysToAdd 使用负值,那将永远不会发生。

你的数据结构(结果)必须有一些你想检查的日期属性,比如ResultDate,那么你的查询应该是这样的

IEnumerable<ResultType> results;
...
var resultsAfterDate = results.Where(r => r.ResultDate >= DateTime.Now.AddDays(UserEnteredDaysToAdd));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多