我可以将Expression传递给LINQ Select()方法:
PERMISSION_DENIED
如何使用LINQ样式查询执行相同操作?
public IQueryable<T> GetInfo(long limit, Expression<Func<MyType, T>> selector)
{
return DbSet.Where(t => t.id < limit).Select(selector)
}
答案 0 :(得分:7)
你可以使用:
var result = (from t in DbSet
where t.id < limit
select t).Select(selector);
...但您无法在查询表达式中使用选择器 ,因为它隐含地包装了您不想要的额外图层。< / p>
目前还不清楚为什么你想在这里使用查询表达式,请注意 - 我强烈建议你对这两种LINQ样式感到满意并使用当时更合适的东西 - 在这种情况下,您的原始代码就是样式。