2012-05-03 5 views
5

Verwendung von Entity Framework-Code Zuerst werden die Web-Anwendung stürzt auf einem Aufruf mit dem folgenden Fehler auf DbContext:DbContext stürzt mit PrimitiveType = null Fehler

Assertion failed

Expression: primitiveType != null

Description: Assertion failed: primitiveType != null

Er stürzt auf die folgende Codezeile:

public class MyDb : DbContext { 

, die durch genannt wird:

MyDb _db = new MyDb(); 

So nähte es wie DbContext Aufruf a erzeugt fataler Fehler. DbContext ist eine EF-Funktion und ich kann nicht debuggen innerhalb von EntityFramework.dll

+1

Überprüfen Sie die Codezeile zu aktualisieren, wenn es fehlschlägt, eine Behauptung nicht auf der Klassendefinition ausfallen können. –

+0

@Adriano: sehe mein Update – jao

+0

Haben Sie es jemals geschafft, dieses Problem zu lösen? Ich habe gerade VS2012 installiert und jetzt hat eine meiner Seiten das gleiche Problem. – DennyFerra

Antwort

1

Es ist ein Problem im Zusammenhang mit älteren Versionen von EntityFramework. Dies passiert manchmal beim Kopieren eines Visual Studio-Projekts auf einen anderen Computer. Dies kann dazu führen, dass die Anwendung einen anderen ModelHash als den in der Datenbank (innerhalb der EdmMetaData-Tabelle) berechnet. Die Lösung besteht darin, die EdmMetaData-Tabelle zu löschen und DbDatabase.SetInitializer<MyContext>(new DropCreateDatabaseIfModelChanges<MyContext>()); zu verwenden, um es wieder an Ort und Stelle zu setzen, oder noch besser: Aktualisieren Sie auf eine neuere Version von EntityFramework, die die EdmMetaData-Tabelle und die ModelHashes nicht verwendet.

0

Ich swicth zu linq zu SQL und dint bekomme diesen Fehler. Weiß nicht, was Entitäten tun, um dies zu verursachen.

+0

ist es wahrscheinlich ein Fehler in Entity Framework – jao

1

Nach der Installation von asp.net4.5 habe ich den gleichen Fehler. Die Antwort für mich ist, Entity Framework auf neue Version zu aktualisieren.

Löschen der "EdmMetaData" -Tabelle konnte den Fehler nicht beheben.

-1

Sie benötigen EntityFramework Version