LINQ выражение с универсальными свойствами класса

Я хотел бы передать IQueryable и массив идентификаторов в метод, который фильтрует IQueryable на основе этих идентификаторов.

Поскольку идентификаторы могут быть как 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)));
}

К сожалению, я получаю исключение:

LINQ to Entities не распознает метод метода System.Object GetValue (System.Object), и этот метод нельзя преобразовать в выражение хранилища.

Ответы на вопрос(2)

Ваш ответ на вопрос