Use*_*384 3 c# linq entity-framework
以下例外飞行
LINQ to Entities无法识别方法'Boolean Contains(Int32)'方法,并且此方法无法转换为商店表达式.
在尝试执行以下查询时
List<int> studentIDs = Common.getFilterStudents();
var query = from a in studentTable
where studentIDs.Contains(a.StudentID)
select a;
Run Code Online (Sandbox Code Playgroud)
如何使用studentIDs列表过滤查询?
Contains在EF版本中不可能使用,因为Contains在EF 4中添加了支持.升级您的EF版本(然后您的代码将毫无问题地工作),或使用类似手动表达式构建的东西:
var query = context.studentTable.Where(
BuildContainsExpression<Student, int>(s => s.StudentID, studentIDs));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5937 次 |
| 最近记录: |