为什么我会收到错误:
无法创建"闭包类型"类型的常量值.在此上下文中仅支持基本类型(例如Int32,String和Guid).
当我尝试枚举以下Linq查询?
IEnumerable<string> searchList = GetSearchList();
using (HREntities entities = new HREntities())
{
var myList = from person in entities.vSearchPeople
where upperSearchList.All( (person.FirstName + person.LastName) .Contains).ToList();
}
Run Code Online (Sandbox Code Playgroud)
更新:如果我尝试以下尝试隔离问题,我得到相同的错误:
where upperSearchList.All(arg => arg == arg)
Run Code Online (Sandbox Code Playgroud)
所以看起来问题出在All方法上,对吧?有什么建议?
我有Linq to Entities的问题,我无法找到解决方法.
这是我的代码:
var queryResult = result.Where(x => x.FollowedUp.Value.GetWeekFromDateTime()
== DateTime.Now.GetWeekFromDateTime()).Select(x => x);
Run Code Online (Sandbox Code Playgroud)
我的扩展方法是:
public static int GetWeekFromDateTime(this DateTime date)
{
return System.Threading.Thread.CurrentThread.CurrentCulture.Calendar.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
}
Run Code Online (Sandbox Code Playgroud)
问题:
我得到"LINQ to Entities无法识别方法GetWeekFromDateTime",我理解为什么因为它试图将我的代码翻译成sql代码并且"GetWeekFromDateTime"不存在.但是我该怎么办呢?我想比较从数据库到本周数据的日期的周数.
谢谢!