Ian*_*ink 4 c# sql linq entity-framework entity-framework-6
我有一个EF6查询,它获取ID列表并执行查询:
public IList<Audit> AuditsByIDs(List<int> ids)
{
return _db.Audits
.Include(p => p.User)
.Where(p => ids.Any(i => i == p.Id)).ToList();
}
Run Code Online (Sandbox Code Playgroud)
它适用于少量的ID,但当达到数百时,我得到错误:
SQL语句的某些部分嵌套得太深.重写查询或将其分解为较小的查询.
如何让查询只返回传入的ID?我无法更改数据库:(
Contains
改为使用:
public IList<Audit> AuditsByIDs(List<int> ids)
{
return _db.Audits
.Include(p => p.User)
.Where(p => ids.Contains(p.Id)).ToList();
}
Run Code Online (Sandbox Code Playgroud)
哪个应该转换为IN
生成的SQL查询.
归档时间: |
|
查看次数: |
1326 次 |
最近记录: |