Я использую общий шаблон репозитория с помощью методов:Entity Framework и репозиторий шаблон проблема
private ObjectQuery<T> ObjectQueryList()
{
var list = CamelTrapEntities.CreateQuery<T>(EntitySetName);
return list;
}
public IQueryable<T> List()
{
return ObjectQueryList();
}
Metod List() возвращает IQueryable < T >, Becase IQueryable < T > легко насмехаться. У меня также есть метод расширения:
public static IQueryable<T> Include<T>(this IQueryable<T> obj, string path)
{
if (obj is ObjectQuery<T>)
(obj as ObjectQuery<T>).Include(path);
return obj;
}
Этот метод используется вне хранилища, чтобы получить список сущностей с навигационными свойствами уже загружены, например: List.Include («CreatedBy»). Проблема в том, что она не работает. Все включения игнорируются. при изменении списка() метод для
public ObjectQuery<T> List()
{
return ObjectQueryList();
}
все работает отлично.
Как я могу реализовать шаблон репозитория, чтобы иметь возможность выполнять более сложные запросы?