【发布时间】:2015-05-30 01:48:36
【问题描述】:
我想在PersianCalendar的特殊月份选择项目。
我使用这个 linq。
var calendar = new PersianCalendar();
var month = calendar.GetMonth(DateTime.Now);
var referreds= _db.Referreds.Where(m => calendar.GetMonth(m.CreatedDateTime) == month);
但我得到错误
LINQ to Entities 无法识别方法 'Int32 GetMonth(System.DateTime)' 方法,并且该方法无法转换为存储表达式
如何在 linq 中选择特殊月份的项目??
【问题讨论】:
-
一个linq查询必须能转换成sql查询(sql没有方法
GetMonth()) -
您可以使用
Month属性轻松地从数据中获取月份,因为 LINQ to Entities 知道如何将其转换为 SQL。但是使用波斯(或任何其他)日历?您无法从中获得有效的 SQL。 -
我使用
PersianCalendar。并希望使用波斯日历的特殊月份来计算具有 CreatedDateTime 的项目。
标签: c# asp.net-mvc linq