Sto usando Pattern Repository generico con metodi Pattern Repository:Entity Framework e di problem
private ObjectQuery<T> ObjectQueryList()
{
var list = CamelTrapEntities.CreateQuery<T>(EntitySetName);
return list;
}
public IQueryable<T> List()
{
return ObjectQueryList();
}
Lista Metod() restituisce IQueryable < T >, becase IQueryable < T > è facile da prendere in giro. Ho anche metodo di estensione:
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;
}
Questo metodo viene utilizzato al di fuori del repository per ottenere l'elenco un'entità con proprietà di navigazione già caricati, ad esempio: List.Include ("CreatedBy"). Il problema è che non funziona. Tutti gli include sono ignorati. quando cambio List() per
public ObjectQuery<T> List()
{
return ObjectQueryList();
}
tutto funziona bene.
Come devo implementare il modello di repository per poter eseguire query più complesse?