【发布时间】:2016-08-12 07:27:31
【问题描述】:
我有一个从表中提取数据的 linq 查询,我想在给定一个日期的情况下将其转换为周(例如它是一年中的哪一周)。
还有 GetWeekofYear 函数:
private int GetWeekOfYear(DateTime d)
{
var cal = System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar;
return cal.GetWeekOfYear(new DateTime(d.Year, d.Month, 1), System.Globalization.CalendarWeekRule.FirstDay, System.DayOfWeek.Sunday);
}
在当前状态下,当我尝试测试它(使用 Postman / Fiddler)时,我收到以下错误:
LINQ to Entities 无法识别方法 'Int32 GetWeekOfYear(System.DateTime)' 方法,并且该方法不能 翻译成商店表达式
【问题讨论】:
-
您需要先将查询物化到内存中 -
var query = (from booking ..... where .... ).ToList().Select(x => new QuestionaireDetailsDTO() { .... }); -
我已经通过在对象中设置一个 getter 来解决它,但我还有另一个问题。如何防止将某些对象属性序列化为 json 并且仅在需要时对其进行序列化?我已经尝试过 [IgnoreDataMember],但似乎并没有按照我的意愿去做。 @StephenMuecke
-
您需要提出一个新问题并提供相关详细信息。
标签: c# entity-framework linq linq-to-entities