データベースファーストのアプローチを使用して、既存のデータベース (MS SQL Server) と MVC 3 モデルに新しいフィールドを追加しようとしています。データベースとモデルの構造は非常に複雑で、DB には大量のデータが保持されているため、データベースを削除して再構築することはできません。これまでのところ、次のことを試してみましたが、役に立ちませんでした。
最初にフィールドをデータベースに追加してから、.edmx ファイルに移動しました。テーブルをクリックして、「データベースからモデルを更新」を選択しました
- これにより、フィールドがモデルに追加されますが、データはデータベースから取得されません。これは、デバッグ中に中断し、モデル リストを確認して確認しました。フィールドにモデルのデフォルト値を与えるだけです。
- これにより、フィールドがモデルに追加されますが、データはデータベースから取得されません。これは、デバッグ中に中断し、モデル リストを確認して確認しました。フィールドにモデルのデフォルト値を与えるだけです。
最初にモデルにフィールドを追加してから、フィールドをデータベースに追加しました (以下のスクリプトを使用)。
- これにより、「_1」で 2 番目のモデル変数が作成され、データベース フィールドにマップされます。
コード リファレンス
データベース テーブルにフィールドを追加するためのスクリプト:
ALTER TABLE stores
ADD active bit NOT NULL DEFAULT 1
追加されるモデルのコード:
public bool active { get; set; }
店舗のリストを作成するためのコード:
var storeList = (from n in db.stores select n).ToList();
モデルフィールドがモデルのデフォルト値ではなく、データベースからのデータによって入力される場所で動作させるにはどうすればよいですか?