0

皆さん、

新しい Web プロジェクトの設計を始めたところです。VS2012 から、新しいインターネット Web サイト プロジェクトを生成しました。いくつかのテーブルが既に配置されているデータベースが付属しています。これで問題ありません。

ここで、いくつかの新しいテーブルでデータベースを拡張し、いくつかの新しいフィールドで UserProfile を更新する必要があります。ただし、これは新しいデータベースになるため、移行手順を有効にしたり、実際には必要のないコードの肥大化を追加したりしたくありません。

これが私が見つけた回避策です:

  1. 必要に応じて、UserProfile を新しいフィールドで拡張します。
  2. AccountModels.cs に新しいテーブルを追加します。例えば、

    [Table("Items")] public class Items { ... }

  3. 新しいテーブルごとに、DbSet フィールドを AccountModels.cs の UsersContexts クラスに追加します。

    public class UserContext : DbContext {

     ...
     public DbSet<Items> Items {get; set; }
    

    }

  4. 元のデータベース ファイルを削除し、同じ名前で新しいデータベース ファイルを作成して、アプリケーションを実行します。

出来上がり。新しいデータベースはすべてのテーブルでいっぱいになります。

これは正しい方法ですか?

それは機能しますが、ステップ3についてはよくわかりません。フレームワークは、新しいテーブルを作成する必要があることを知る必要があり、基本的にUserContextに新しいフィールドを追加すると、新しいテーブルの作成がトリガーされると考えました。これは正しいアプローチですか?

よろしくお願いいたします。

よろしく、
ピーター

4

1 に答える 1