3

管理MVC4プロジェクト、WebサイトMVC4プロジェクト、およびCommon EntityFrameworkdllプロジェクトを使用してVS2012で新しいプロジェクトを作成しようとしました。

私は既存のデータベースとデータベースを使用し、そこからエンティティを生成しました。いくつかのリレーションプロパティの名前を更新して保存しました。次に、Entity Frameworkプロジェクトへの参照を両方のMVC4プロジェクトに追加し、Entity Framework接続文字列をApp.configファイルから各Web.configファイルにコピーし、同じSystem.Data.Entityアセンブリを参照していることを確認しました。 3つのプロジェクトすべて。

Entity Frameworkを使用してMVCコントローラーを追加しようとしましたが、エラーが発生しました。エラーは、私のエンティティに特定の名前のプロパティがないことを示していました。たまたま、それが把握していた名前は、エンティティデザイナで名前を変更したものでした。そこで、Clean Solutionを実行して再構築し、コントローラーを再度追加しようとしました...同じエラー。

特定の名前のプロパティがないという苦情があったため、ILSpyを使用して生成されたアセンブリを検査しました。案の定、エンティティデザイナーのプロパティに割り当てた名前は引き継がれませんでした。以下は、クラスの名前を変更したことを示すDesignerインターフェイスの写真(はい、保存しました)、MVCコントローラーを追加しようとしたときに表示されたエラーメッセージ、および出力でプロパティの名前が適切に変更されなかったことを示すILSpy出力です。組み立て。

エンティティデザイナー、エラー、およびILSpy出力のスクリーンショット

これはバグですか?私は何か間違ったことをしていますか?


更新:.edmxデザインに変更を加えたときに、.ttファイルがエンティティを自動的に起動および再生成していないようです。edmxを保存するときに、それらを自動的に実行するために何をする必要があるかわかりませんか?

4

2 に答える 2

2

EDMXがプロジェクトディレクトリのルートにない場合にこの問題を引き起こすバグが報告されています。EDMXをサブフォルダーに配置する場合は、カスタムツールを手動で実行してクラスを再生成する必要があります。

于 2012-09-27T13:03:25.570 に答える
2

これは、本日出荷されたVS 2012Update1で修正されました。http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-updateから入手できます。

于 2012-11-27T05:53:15.143 に答える