2012-05-03 1 views
5

Utilizzando Entity Framework codice In primo luogo, l'applicazione si blocca web su una chiamata a DbContext con il seguente errore:!DbContext si blocca con PrimitiveType = errore nullo

Assertion failed

Expression: primitiveType != null

Description: Assertion failed: primitiveType != null

Si blocca sul seguente riga di codice:

public class MyDb : DbContext { 

quale è invocato:

MyDb _db = new MyDb(); 

Così cuciture come chiamare DbContext genera un errore fatale. DbContext è una funzione EF e non riesco a eseguire il debug all'interno di EntityFramework.dll

+1

Controllare la riga di codice in cui non riesce, un'asserzione non può fallire nella definizione della classe. –

+0

@Adriano: vedere il mio aggiornamento – jao

+0

Hai mai risolto questo problema? Ho appena installato VS2012 e ora uno dei miei siti sta avendo lo stesso problema. – DennyFerra

risposta

1

È un problema correlato alle versioni precedenti di EntityFramework. Succede a volte quando si copia un progetto di Visual Studio su un altro computer. Ciò può far sì che l'applicazione calcoli un ModelHash diverso da quello presente nel database (all'interno della tabella EdmMetaData). La soluzione consiste nell'eliminare la tabella EdmMetaData e utilizzare DbDatabase.SetInitializer<MyContext>(new DropCreateDatabaseIfModelChanges<MyContext>()); per rimetterlo in posizione, o anche meglio: eseguire l'aggiornamento a una versione più recente di EntityFramework che non utilizza la tabella EdmMetaData e ModelHashes.

0

I swicth to linq to sql e dint ottengono questo errore. Non so cosa facciano le entità per causare questo.

+0

è probabilmente un bug in Entity Framework – jao

1

Dopo aver installato asp.net4.5 ho lo stesso errore. La risposta per me è aggiornare Entity Framework alla nuova versione.

L'eliminazione della tabella "EdmMetaData" non ha risolto l'errore.

-1

È necessario aggiornare la versione di EntityFramework