既存の DB を EF を使用するように変換したので、テーブルにマップするクラスを作成します。「iframeVideoId」と呼ばれる null 許容の int である新しい列を追加しました。でマッピングしました
public int? iframeVideoId { get; set; }
そのテーブルを検索すると、「」で爆発します
無効な列名のエラー
. これは単純なプロパティであり、インデックスではなく、他のテーブルに関連付けられていません。DB で名前を ' DisplayVideo
' に変更し、null 不可にしようとしました。それから私は持っていました
[Column("DisplayVideo")]
public int iframeVideoId { get; set; }
DisplayVideo が有効な列ではないというエラーが表示されるようになりました。もちろん、正しいDBを指していることを再確認し、コードが指すことができるすべてのDBにこの列があることを確認しました。また、すべてをクリーンアップして再構築し、マシンを再起動しました。何が間違っている可能性がありますか? これは基本的なコラムであり、そこにあります。過去の経験から、型が一致しない場合 (両方とも int )、型間の変換の失敗に関連するエラーが発生することがわかっています。これは私にはまったく意味がありません。DB に直接マップするクラスを作成しているため、更新する edmx ファイルがありません。
追加するために、列を文字列に変更しましたが、違いはありません。これは単純な値を持つ新しい列であり、EF は存在しないと主張しています。
そして、列を別のテーブルに追加しました(明らかに最適ではありません)が、すぐに機能しました。EFで列を追加できないテーブルがある理由を知りたいのですが、