13

バックグラウンド

Entity Framework にバインドされた新しい ASP.NET MVC コントローラーの Visual Studio スキャフォールディングは、モデルがデータ注釈またはモデル内の直接的な行を使用OnModelCreating(DbModelBuilder)してその特性を記述する場合にうまく機能します。

問題

ただし、このシナリオでは、のコンテンツは個々のクラスOnModelCreatingを使用してリファクタリングされます。EntityTypeConfiguration<T>MVC+EF スキャフォールディングを使用して新しいコントローラーを作成しようとすると、次のポップアップ エラーが発生します。

選択したコード ジェネレーターの実行中にエラーが発生しました: 'タイプ SomeModelClass の構成は既に追加されています。既存の構成を参照するには、Entity<T>()または ComplexType<T>()メソッドを使用します。

修正はありますか (例: カスタム コードまたはプロジェクト構成)?

4

1 に答える 1

4

あなたと同じ問題と思われるものがあります: 足場コントローラーは、ビジュアルスタジオ2013アップデート3および4では機能しません

これはうまくいくように見える解決策です:

モデル クラスの 1 つにカスタム構成を追加して、流暢な API を使用して関係を追加しました。これは、次を使用して OnModelCreating オーバーライドの dbContext クラスで指定されました。

modelBuilder.Configurations.Add(新しい OrderConfiguration()); 上記の行をコメントアウトすると、コントローラーのスキャフォールディングが期待どおりに実行されました。

VS 2013 update 2 にはこれに関する問題があり、スキャフォールディングで役に立たないエラーが発生し、それ以上の情報はありませんでした。インストールされた Update 3 では、根本的な問題を追跡するのに十分な詳細が得られました。

于 2016-06-06T14:30:11.197 に答える