Expression.Call - вызов расширения linq: FirstOrDefault, где

Я пытаюсь создать следующее динамически, однако у меня возникают проблемы с вызовом метода расширенияFirstOrDefault:

 using(var context = new Entities())
 {
     var list = context.Engines.Include("Cars").Select(e => e.Cars.FirstOrDefault()).ToList();
 }

У меня есть следующее

Expression parameter = Expression.Parameter(typeof(Engine), "e");
Expression property = Expression.Property(parameter, "Cars");
параметр ={e}свойство ={e.Cars}

Это хорошо, но я сталкиваюсь с проблемой, когда пытаюсь позвонитьFirstOrDefault метод:

var result = Expression.Call(typeof(Queryable), "FirstOrDefault", new type[] { typeof(Car)}, property);

Я хотел бы получить

результат ={e.Cars.FirstOrDefault()}

но я получаюInvalidOperationException

Универсальный метод 'FirstOrDefault' для типа 'System.Linq.Queryable' не совместим с предоставленными аргументами и аргументами типа. Аргументы типа не должны предоставляться, если метод не является универсальным.

Любая помощь приветствуется.

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

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