Ich versuche, die Methode DbContext.Set<TEntity>()
außer Kraft zu setzen >.
Es ist Unterschrift:
%Vor%Zuerst habe ich das versucht:
%Vor%... aber ich bekomme den Fehler:
Der Typ 'TEntity' muss ein Referenztyp sein, um ihn als Parameter 'TEntity' im generischen Typ oder in der Methode 'System.Data.Entity.DbContext.Set ()'
zu verwenden
... also habe ich versucht zu spezifizieren, dass es ein Referenztyp ist:
%Vor%... und ich bekomme jetzt:
Constraints für Override- und explizite Interface-Implementierungsmethoden werden von der Basismethode geerbt und können daher nicht direkt angegeben werden.
... und wenn ich es wegnehme, bin ich wieder beim ersten Fehler.
Was will der C # -Compiler von mir?
Nun, das ist lahm ... Ich habe Version 6.0.0 von Entity Framework verwendet.
In 6.0.0 (nach dem Durchsuchen des Verlaufs des Projekts auf Code Plex Ich habe herausgefunden, dass Set<TEntity>()
nicht virtual
damals war.
Schade, dass der Compiler das nicht sagen kann, anstatt mich durch die Häuser zu schicken.
Wie auch immer, das Aktualisieren von Entity Framework auf 6.1.x (wo es virtual
ist) löste das Problem;
Tags und Links c# entity-framework generics