2015-09-20 5 views
2

У меня есть 2 классов:"Включить" метод расширения не работает с LinqKit

public class Employee 
{ 
    public int Id {get;set;} 
    public string Name {get;set;} 
} 

public class Remuneration 
{ 
    public int Id {get;set;} 
    public Employee Employee {get;set;} 
    public int Amount {get;set;} 
} 

нормальный запрос:

return _context.Remunerations.Include("Employee") 

работает отлично

Но когда я использую LinqKit Albahari и давая запрос, как указано ниже:

return _context.Remunerations.AsExpandable().Include("Employee") 

Это не дает никаких ошибок.

Но не включает данные Сотрудника в результат.

ответ

0

Это known issue, и они работают над этим. Текущий development source имеет метод расширения, который выполняет Include на ExpandableQuery (возвращается AsExpandable()) и передает его обратно на исходный номер IQueryable.

Причина, почему вы не получите исключение в том, что Include является метод расширения на IQueryable<T> и ExpandableQuery также реализует IQueryable. Но у него нет реализации Include(), поэтому Include() работает, но он ничего не делает.

Смежные вопросы