【问题标题】:Linq and comparing two date columnsLinq 并比较两个日期列
【发布时间】:2009-06-03 06:41:11
【问题描述】:

运行以下 linq 查询时出现不支持的异常。任何想法如何解决它

        var declines = from d in _Db.DeclinedSettlementSet
                       where d.STATUS == Status.REPORTED               
                        && d.ADD_DATE < d.EDIT_DATE.AddDays(-3)

【问题讨论】:

    标签: .net linq .net-3.5


    【解决方案1】:

    从 SP1 开始,Microsoft 已从表达式树中删除了对客户端功能的支持,这样做是为了提高性能。 在简单的世界中,任何客户端功能都不能像您的.AddDays(n)一样包含在其中。 关于乔恩的回答,我认为它也不起作用,因为 TimeSpan 也是客户端功能。

    【讨论】:

    • 这是我的想法,但在我现在删除的答案中无法表达。
    • 那么对于如何不使用 adddays 扩展方法来达到相同的结果有什么建议吗?
    • 坦率地说,此时我并没有什么好的想法。但我现在想到的选项有两个:通过初始过滤 context.DeclinedSettlementSet 获取所有记录。其中(k => k.Status==Status.REPORTED && k.AddDate k);然后执行业务逻辑来过滤它。或使用 sotre 程序来检索记录。我承认它们对于这种简单的工作不是很好的选择......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多