13

SfondoÈ possibile utilizzare lo scaffolding ASP.NET MVC + EF dopo l'implementazione delle classi EntityTypeConfiguration?

Visual Studio ponteggi per i nuovi controller ASP.NET MVC legati a Entity Framework funzionano bene quando i modelli utilizzano annotazioni di dati o le linee dirette all'interno OnModelCreating(DbModelBuilder) per descrivere le loro caratteristiche.

Problema

Tuttavia, nel nostro scenario, il contenuto di OnModelCreating viene riscritta utilizzando singoli EntityTypeConfiguration<T> classi. Quando si tenta di creare un nuovo controller tramite l'impalcatura MVC + EF il seguente pop-up di errore si verifica:

c'è stato un errore in esecuzione il generatore di codice selezionato: 'è già stato aggiunto Una configurazione per il tipo SomeModelClass. Per fare riferimento alla configurazione esistente utilizzare i metodi Entity<T>() o ComplexType<T>(). '

Esiste una correzione (ad esempio codice personalizzato o configurazione del progetto)?

+0

quale versione di visual studio e asp.net MVC si sta utilizzando? – RBT

risposta

4

Qui è qualcosa che sembra lo stesso problema come la tua: Scaffolding controller doesn't work with visual studio 2013 update 3 and 4

Questa è una soluton che sembra funzionare:

avevo aggiunto un po 'di configurazione personalizzata per una delle mie classi del modello aggiungere una relazione usando l'API fluente. Questo è stato specificato nella mia classe dbContext nell'override OnModelCreating utilizzando quanto segue:

modelBuilder.Configurations.Add (new OrderConfiguration()); Commentando la riga precedente è possibile eseguire il ponteggio del controller come previsto.

VS 2013 aggiornamento 2 ha avuto un problema con questo e lo scaffolding si è presentato con un errore inutile senza ulteriori informazioni. Nell'aggiornamento 3 installato e ha dato abbastanza dettagli per rintracciare il problema sottostante.

+0

Questo è un elusione, non una soluzione. Disconnettendo il generatore (ad esempio commentando la riga 'Configurations.Add()', si impedisce allo scaffolder di essere a conoscenza degli attributi delle entità associate, che è esattamente ciò che si vuole che lo scaffolder gestisca. –

Problemi correlati