13

レコードの追加/更新および削除に最適なEntityFrameworkにマップされたテーブルがあります。「Category」というSQLサーバーから列を削除してから、モデル内のエンティティを再マップしました。これは正常に機能し、列が消えました。

ここで、テーブルに対してクエリを実行して行を更新すると、同じエラー、無効な列「Category」が表示されます。

これはSQLテーブルから削除され、エンティティから削除されたので、次のコードを実行したときに、このいまいましい列を探していますか?

using (Entities db = new Entities())
                { 
                       var Voucher = (from vouchers in db.Vouchers
                                 where vouchers.ID == ID
                                 select vouchers).FirstOrDefault();

                       if (Voucher != null)
                       {
                           Voucher.Status = (int)Vouchers.UI.Enums.VoucherStatus.Removed;                           
                           ret = db.SaveChanges() == 1;
                       }
                } 

エラーは次のとおりです。

列名'Category'が無効です。

私はコードをクリーンアップし、エンティティを約100回ビルド、再ビルド、および更新しました。

誰かアイデアはありますか?

ありがとう

4

6 に答える 6

25

* .EDMXファイルからテーブルを削除してから、そのテーブルを*.EDMXファイルに再度追加します。

于 2012-07-25T11:02:47.857 に答える
9

以前はテーブルを削除して再度追加していましたが、これは好きではありませんでした。私はむしろ何をしますか。モデルを閉じます。右クリックしてXMLとして開くと、この参照が手動で削除されます。したがって、1つのモデル内の複数の図を同じに保ち、定義した色も維持します。

于 2013-10-24T23:33:03.227 に答える
5

* .EDMXファイルからテーブル全体を削除する必要はありません。*。EDMXファイルから、不要なフィールドを削除するだけです。それは私を助けました

于 2013-12-16T14:49:49.990 に答える
2

また、デザインビューの.edmxファイルから列を削除することで解決したものと同じものに出くわしました。他のオプションは、テーブルを削除して.edmxファイルに再度追加するという投稿で前述したものです。

于 2016-02-01T14:24:16.533 に答える
0

もう1つの解決策は、Entity Frameworkダイアグラムでテーブルを見つけてから、[Category]列を削除し、モデルファイルを保存することです。

于 2018-10-19T19:15:14.337 に答える
0

ここに画像の説明を入力してください

Edmxを開きます->テーブル列を右クリックします->モデルから削除を選択します

于 2020-02-03T10:20:20.537 に答える