8

EF モデル (ver 5) を更新すると奇妙な問題が発生します。そのモデルに属するすべてのクラスを削除します。

私の状況はこんな感じでした。プライマリ テーブルへの参照を持つ 2 つのテーブルのキー列を変更しました。モデルを更新しても edmx にこれらの変更が加えられなかったため、これら 3 つのテーブル (プライマリ テーブルと 2 つのルックアップ テーブル) を削除し、edmx を保存しました。次に、モデルを更新し、それらのテーブルを再び追加しました。

更新後にモデルを保存すると、VS はこの edmx のすべてのクラス ファイルを削除しました。edmx はすべてのテーブルで問題ないように見えますが、クラスだけが削除されています。その後、最後の変更を元に戻して再試行する必要があります。

うまくいったことの 1 つは、影響を受けるクラスに適切な変更を加えるために edmx ファイルを手動で編集することでしたが、なぜそれをしなければならないのかわかりません。

そこに何かアイデアはありますか?

ありがとう!

4

7 に答える 7

9

これは、テーブルを削除してから再度追加して、EDMX に外部キー (FK) 列への変更を取得させた後に発生する 1 つの方法です。

これは、他のテーブルとの関係が更新されていないために発生します。

この回答https://stackoverflow.com/a/34144341に従って、これを手動で修正するには、エラー リストを「ビルドのみ」でフィルタリングし、EDMX エディターでビルド エラーを手動で解決します。関係の多様性に注意してください。

または、バージョン管理を使用して EDMX の変更全体を元に戻し、次の方法でやり直します。

変更された FK 列を含むテーブルのみを削除して再追加するのではなく、変更された FK 列と関係があるすべてのテーブルを削除して再追加します。

于 2016-04-25T19:11:45.853 に答える
0

命名規則が _ の変数がないことを確認してください。ある場合、EF は失敗し、すべてのクラスを再度書き込みます。

変数名 p_ を変更すると役に立ちました。

于 2016-12-16T16:18:30.980 に答える
0

同様の問題がありました。

VS2013、EF6を使用し、ORACLE 11Gに接続しています(データベースが最初です)。

別のテーブルへの外部キーを持つテーブルを追加しました。何らかの理由で、これら 2 つのテーブルで外部キーの Type が異なっていました。

外部キーの種類を更新すると、問題が解決します。

于 2017-02-02T09:37:06.257 に答える