【发布时间】:2012-12-11 11:54:24
【问题描述】:
我正在尝试在我的存储库中创建一个多重包含方法以如下使用:
repository.Include<Post>(x => x.Images, x => x.Tags).First(x => x.Id == 1)
我尝试了以下方法:
public IQueryable<T> Include<T>(params Expression<Func<T, Object>>[] paths) where T : class {
return paths.Aggregate(_context.Set<T>(), (x, path) => x.Include(path));
} // Include
但我得到了错误:
无法将类型“System.Linq.IQueryable”隐式转换为“System.Data.Entity.DbSet”。
请注意,原始包含如下:
公共静态 IQueryable 包含( 这个 IQueryable 源, 表达式>路径 ) 其中 T : 类;
我可以在不将存储库方法变为静态的情况下完成这项工作吗?
谢谢,
米格尔
【问题讨论】:
-
你只需要
_context.Set<T>().AsQueryable()。
标签: entity-framework