我使用的通用存储库模式与方法:实体框架和存储库模式问题
private ObjectQuery<T> ObjectQueryList()
{
var list = CamelTrapEntities.CreateQuery<T>(EntitySetName);
return list;
}
public IQueryable<T> List()
{
return ObjectQueryList();
}
梅托德列表()返回的IQueryable <牛逼>,becase的IQueryable的<牛逼>容易嘲笑。我也有扩展方法:
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();
}
一切工作正常。
我应该如何实现存储库模式才能执行更复杂的查询?