2017-11-28 2 views
0

Ich habe gerade von EF5 auf EF6 aktualisiert, und dieser Fehler tritt in einem benutzerdefinierten T4 auf, das über einen DbContext von einer anderen Assembly mit der DB verbunden wird.EF6.Utility.CS.ttinclude: ArgumentNotNull ist nicht vorhanden

Datei: EF6.Utility.CS.ttinclude

Kompilieren Transformation: Der Name 'ArgumentNotNull' existiert nicht im aktuellen Kontext

Was ich getan habe ist EF.Utility.CS.ttinclude mit EF6.Utility.CS.ttinclude ersetzen , die einen anderen Fehler über DbSet und DbContext nicht gefunden gefunden.

Der T4 ist sehr einfach, wie diese:

using(var context = new EntityContext) 
    return context.Entities.Where(x => 1==1); 

Mit Ausnahme der EF schließe ich nur meine eigenen Assemblys verweisen. Der frisch hinzugefügte Context erzeugt gerade gut (in einem anderen Projekt).

Was um alles in der Welt könnte falsch sein?

+0

Welches Visual Studio verwenden Sie? – lucky

+0

2017 Community mit EF6-Komponente installiert. –

Antwort

0

Eine Möglichkeit, dies zu lösen, besteht darin, fast den gesamten Code in eine CS-Datei zu verschieben und diese Datei dann in der T4-Vorlage zu verwenden. Dann entfernen Sie das EF-TInclude aus der T4-Vorlage.

Funktioniert und ist einfach bessere Praxis zu folgen.

Verwandte Themen