13

TłoCzy po wdrożeniu klas EntityTypeConfiguration można używać rusztowania ASP.NET MVC + EF?

Visual Studio rusztowania dla nowych kontrolerów ASP.NET MVC zobowiązane do Entity Framework działa dobrze, gdy modele wykorzystują adnotacji danych lub bezpośrednie linie wewnątrz OnModelCreating(DbModelBuilder) opisać ich właściwości.

Issue

Jednak w naszym scenariuszu, treść OnModelCreating jest refactored użyciu indywidualnych EntityTypeConfiguration<T> klas. Podczas próby utworzenia nowego kontrolera poprzez rusztowania MVC + EF następujące pop-up pojawia się błąd:

Wystąpił błąd uruchomiony wybrany generator kodu: „a konfiguracji typu SomeModelClass został już dodany. Do odwołaj się do istniejącej konfiguracji, używając metod Entity<T>() lub ComplexType<T>(). "

Czy istnieje poprawka (np. Niestandardowy kod lub konfiguracja projektu)?

+0

której wersji Visual Studio i asp.net MVC używasz? – RBT

Odpowiedz

4

Oto coś, co wydaje się być taki sam problem jak ty: Scaffolding controller doesn't work with visual studio 2013 update 3 and 4

To soluton że wydaje się działać:

ja dodałem trochę konfigurację niestandardową dla jednego z moich klas Modelowe dodać relację za pomocą płynnego interfejsu API. Zostało to określone w mojej klasie dbContext w nadpisaniu OnModelCreating przy użyciu:

modelBuilder.Configurations.Add (new OrderConfiguration()); Komentowanie powyższej linii pozwoliło rusztowaniu kontrolera działać zgodnie z oczekiwaniami.

Aktualizacja VS 2013 2 miała z tym problem, a na rusztowaniu pojawił się niepomocny błąd bez dodatkowych informacji. W zainstalowanej aktualizacji 3 dało to wystarczająco dużo szczegółów, aby wyśledzić podstawowy problem.

+0

Jest to unikanie, a nie rozwiązanie. Odłączenie generatora (tj. Komentowanie linii 'Configurations.Add()', uniemożliwia rusztowaniom uzyskanie informacji o atrybutach powiązanych obiektów, co jest dokładnie tym, co ma obsługiwać rusztowanie. –