Sto creando un delegato per recuperare tutti i record dell'album nel database. Ho usato la stessa cosa in un altro progetto, ma per qualche motivo ho riscontrato un errore questa volta.Compiled Query nessuna conversione implicita del riferimento a ObjectContext
Ho perso un passaggio? Non sono sicuro del motivo per cui questo errore si sta verificando.
Codice
public static readonly Func<CodySolutionEntities, IQueryable<Album>> SelectAlbums =
CompiledQuery.Compile<CodySolutionEntities, IQueryable<Album>>(
query => from q in query.Albums.Include("Photo")
select q);
errore
di errore 1 Il tipo di 'CodyData.Diagram.CodySolutionEntities' non può essere utilizzato come tipo parameter 'TArg0' in the generic type or method 'System.Data.Objects.CompiledQuery.Compile<TArg0,TResult>(System.Linq.Expressions.Expression<System.Func<TArg0,TResult>>)'. There is no implicit reference conversion from 'CodyData.Diagram.CodySolutionEntities' to 'System.Data.Objects.ObjectContext'. C:\Users\Cody\Documents\CMBS\CodySolution\CodyData\Delegates\PhotoDelegates.cs 13 13 CodyData
Quale sarebbe il modo equivalente usando 'DbContext' per fare ciò che sto cercando di fare, allora? – Cody
Questo è il problema, tu ** non puoi ** usare 'DbContext' con' CompiledQuery'. Vedi: http://stackoverflow.com/a/6731102/1289454. Potresti limitarti a una query che non è stata compilata? 'using (var context = new CodySolutionEntities()) {var albums = context.Albums.Include (a => a.Photos); // ...} ' – gowansg