0

asp.netmvc3とエンティティフレームワークデータベースの最初のアプローチを使用してサンプルのNorthwindデータベースを使用してアプリケーションを作成しているとします。そのために、新しいasp.net mvc 3プロジェクトを開いてから、ado.netエンティティデータモデルを追加しています。すでに作成されているので、既存のデータベースから生成しています。その後、ado.netDbContextジェネレーターを使用してコードを生成しています。これらには、すべてのモデルとDbContextファイル(この場合はNorthwindContext)が含まれます。

今私が直面している問題は、コードの再編成にあります。すべてのモデルは、プロジェクトのModelフォルダーに配置する必要があります。Modelフォルダーにコードを生成しても、NorthwindContextクラスも生成されます。これは、NorthwindContext.ttファイルの下にあり、NorthwindContext.csが生成されます。このファイルは、データへのアクセスに使用するため、DALフォルダーに再配置する必要があります。ここで、DALフォルダーにドロップするだけで、コード生成が自動的に停止します(NorthwindContext.csファイルにコードは残りません)。この問題をどのように解決できるか?????

4

1 に答える 1

1

この設定を取得するには、ジャンプする必要のあるフープがいくつかあります。

2つのT4テンプレートを生成する必要があります。1つはモデルクラス用で、もう1つはコンテキスト用です。モデルのT4テンプレートをモデルアセンブリに移動してから、Visual Studioで開き、ファイルパスを更新してデータアクセスアセンブリのedmxに戻します。データアクセスアセンブリのコンテキストT4を編集して、モデル名前空間のusingステートメントを発行します。最後に、データアクセスアセンブリにモデルアセンブリへの参照を追加します。

クラスを再生成する場合は、VSを右クリックして、コンテキストとモデルT4の両方で[カスタムツールの実行]を選択します。

于 2011-08-29T07:32:32.350 に答える