相关疑难解决方法(0)

具有泛型类属性的LINQ表达式

我想将一个IQueryable和一组id传递给一个方法,该方法根据这些id过滤IQueryable.

由于id可以是long或int,因此应该通常解决.

我想出了以下内容:

public static IEnumerable<T> GetModified<TId, T>(IQueryable<T> objects, TId[] ids) where T : class
{
        return objects.Where(j => ids.Contains((TId)j.GetType().GetProperty("Id").GetValue(j)));
}
Run Code Online (Sandbox Code Playgroud)

不幸的是我得到了例外:

LINQ to Entities无法识别方法'System.Object GetValue(System.Object)'方法,并且此方法无法转换为存储表达式.

c# linq generics lambda

4
推荐指数
1
解决办法
3447
查看次数

标签 统计

c# ×1

generics ×1

lambda ×1

linq ×1