Ich erstelle einen Delegaten, um alle Albumeinträge in der Datenbank abzurufen. Ich habe den gleichen Weg in einem anderen Projekt verwendet, aber aus irgendeinem Grund bekomme ich diesmal einen Fehler.Kompilierte Abfrage keine implizite Referenzkonvertierung in ObjectContext
Habe ich einen Schritt verpasst? Ich bin mir nicht sicher, warum dieser Fehler angezeigt wird.
-Code
public static readonly Func<CodySolutionEntities, IQueryable<Album>> SelectAlbums =
CompiledQuery.Compile<CodySolutionEntities, IQueryable<Album>>(
query => from q in query.Albums.Include("Photo")
select q);
Fehler
Fehler 1 vom Typ 'CodyData.Diagram.CodySolutionEntities' kann nicht als Typ 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
Nachricht
Was wäre der äquivalente Weg mit 'DbContext', um das zu tun, was ich versuche zu tun? – Cody
Das ist das Problem, Sie ** können 'DbContext' nicht mit' CompiledQuery' verwenden. Siehe: http://stackoverflow.com/a/6731102/1289454. Könnten Sie einfach bei einer Abfrage bleiben, die nicht kompiliert wird? 'Verwenden (var Kontext = neue CodySolutionEntities()) {var albums = context.Albums.Include (a => a.Photos); // ...} ' – gowansg