我正在创建一个委托来检索数据库中的所有相册记录。我在另一个项目中使用了同样的方法,但出现错误。
我错过了什么步骤吗?我不确定为什么会出现这个错误。
代码
public static readonly Func<CodySolutionEntities, IQueryable<Album>> SelectAlbums =
CompiledQuery.Compile<CodySolutionEntities, IQueryable<Album>>(
query => from q in query.Albums.Include("Photo")
select q);
错误
错误 1 类型“CodyData.Diagram.CodySolutionEntities”不能用作类型参数“TArg0”的类型,因为在泛型类型或方法“System.Data.Objects.CompiledQuery.Compile<TArg0,TResult>(System.Linq.Expressions.Expression<System.Func<TArg0,TResult>>)”中不存在从“CodyData.Diagram.CodySolutionEntities”到“System.Data.Objects.ObjectContext”的隐式引用转换。 C:\ Users \ Cody \ Documents \ CMBS \ CodySolution \ CodyData \ Delegates \ PhotoDelegates.cs 13 13 CodyData
DbContext
有什么等效的方法可以做到我想做的事情呢? - CodyCompiledQuery
中使用DbContext
。请参见:https://dev59.com/JGw15IYBdhLWcg3wv-RM#6731102 。你可以将查询不去编译吗?using(var context = new CodySolutionEntities()){ var albums = context.Albums.Include(a => a.Photos); //... }
- gowansg