EF 5.0モデルに変更を加えても、VSはその変更を認識していないようです。モデルにうまく表示される新しいテーブルを追加しようとしましたが、どこかで使用しようとすると、テーブルがインテリセンスに表示されず、使用できません。
また、列のデータ型を変更しようとしましたが、.edmxモデルファイルを見ると再び表示されますが、Visual Studioでは間違ったデータ型を割り当てようとしているため、そのフィールドでコンパイラエラーが発生します。
EDMXを完全に削除して再作成すると、変更は正常に機能します。しかし、「データベースからモデルを更新する」だけで再構築できるようになるたびに、データベースから再生成するのは面倒です。
EFでこれらの問題を経験したことはありません。誰もがこの問題の原因または修正を知っていますか?
ありがとう。
これがフォルダーにあるedmxファイルのバグである場合、現在修正されています-VS 2012 Update 1をダウンロードしてインストールします。次から入手できます: http://www.Microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update
最初にプロジェクトをビルドし、成功した場合は、"model.tt"ファイルを右クリックしてカスタムツールの実行を選択します。それを修正します。
再びプロジェクトをビルドし、"model.context.tt"カスタムツールを実行するようにポイントします。 DbSetリストを更新します。
これは明らかに、Edmxファイルがフォルダー内にある場合にモデルが更新されないというEntity Frameworkのバグです。現在利用可能な回避策は次のとおりです。
それがそこに誰かを助けることを願っています。
リンク: http://thedatafarm.com/blog/data-access/watch-out-for-vs2012-edmx-code-generation-special-case/
しかし、model.ttファイルを右クリックして「カスタムツール」を実行しても何の違いもありませんでしたが、メニュー項目「BUILD >すべてのT4テンプレートを変換します。」それは私のためにそれをしました
モデルクラスを生成するT4テンプレートである<XXX>Model.tt
ファイルが必要です。
別のプロジェクトにある場合、edmxファイルを保存しても更新されません。
とにかく、ソリューションエクスプローラーで右クリックしてRun Custom Tool
を選択してください
VS2013でも同様の状況にあったため、この答えを探しました。私の場合、単純な「Clean Solution
」で古い定義がすべて削除されていることがわかりました。
また、model.ttファイルの下にクラスが生成されないという問題も発生しました。私の場合、SQL2012でDBを構築した方法に問題がありました。テーブルの列をNULLキーに設定しましたが、これも外部キーでした。これを行うことができるはずですが、EF5で問題が発生しました。
これがクリアされ、データベースからダイアグラムが更新されるとすぐに、それらが再表示されました。
EF5 VS2013
N-Tieredプロジェクトで働いていますか?その場合は、使用する前にデータレイヤー(またはEDMXファイルが保存されている場所)を再構築してください。