【发布时间】:2009-06-30 16:14:05
【问题描述】:
我一直在阅读一些帖子,但没有找到解决 LINQ To Entities、Lambda 表达式和 DateTime.AddMonth 的问题的方法。
问题是我试图在 Lambda 表达式中使用 DateTime.AddMonth,但我收到了这个错误:
"LINQ to Entities 无法识别方法 'System.DateTime AddMonths(Int32)' 方法,并且该方法不能翻译成 存储表达式”
当我执行这段代码时:
List<Orders> orders = context.Orders
.Where(o => o.IdOrderStatus == 1)
.Where(o => o.PaymentDate.Value.AddMonths(o.Products.ProductCategories.CommissionableMonths) > DateTime.Now)
.ToList();
有没有办法避免这种异常但保持相同的行为?
我对 Linq、Lambda 或实体框架了解不多。
非常感谢您!
Gsus。
【问题讨论】:
-
o.Products.ProductCategories.Commissionable 和 Int32 值是您要添加到 PaymentDate 的月数吗?
-
你应该标记这个问题 Linq 和 C#
-
@jvanderh:是的,是我想添加到付款日期的月数。 @jvanderh:我会把它标记为 Liqn 和 C# 谢谢。