Можно ли использовать ASP.NET MVC + EF леса после реализации классов EntityTypeConfiguration?
Фон
Архитектура Visual Studio для новых ASP.NET MVC-контроллеров, связанных с платформой Entity Framework, хорошо работает, когда модели используют аннотации данных или прямые строки в OnModelCreating(DbModelBuilder)
для описания их характеристик.
Вопрос
Однако в нашем сценарии содержимое OnModelCreating
реорганизуется с использованием отдельных классов EntityTypeConfiguration<T>
. При попытке создать новый контроллер через строительные леса MVC + EF возникает следующая всплывающая ошибка:
Произошла ошибка с запуском генератора кода: "A конфигурация для типа SomeModelClass уже добавлена. к ссылку на существующую конфигурацию используйте Entity<T>()
или ComplexType<T>()
.
Есть ли исправление (например, пользовательский код или конфигурация проекта)?
Ответы
Ответ 1
Вот что-то похожее на вашу проблему:
Контроллер лесов не работает с обновлением версии 3 и 4 версии Visual Studio 2013
Это солютон, который, похоже, работает:
Я добавил некоторую настраиваемую конфигурацию для одного из моих классов Model, чтобы добавить отношения, используя свободный API. Это было указано в моем классе dbContext в переопределении OnModelCreating, используя следующее:
modelBuilder.Configurations.Add(новый OrderConfiguration()); Комментируя вышеприведенную строку, допустимо, чтобы строительные леса контроллера выполнялись, как ожидалось.
В обновлении VS 2013 версии 2 возникла проблема с этим, и на строительных платформах появилась бесполезная ошибка без дополнительной информации. В установленном обновлении 3 и он дал достаточно подробностей для отслеживания основной проблемы.