皆さん、
新しい Web プロジェクトの設計を始めたところです。VS2012 から、新しいインターネット Web サイト プロジェクトを生成しました。いくつかのテーブルが既に配置されているデータベースが付属しています。これで問題ありません。
ここで、いくつかの新しいテーブルでデータベースを拡張し、いくつかの新しいフィールドで UserProfile を更新する必要があります。ただし、これは新しいデータベースになるため、移行手順を有効にしたり、実際には必要のないコードの肥大化を追加したりしたくありません。
これが私が見つけた回避策です:
- 必要に応じて、UserProfile を新しいフィールドで拡張します。
AccountModels.cs に新しいテーブルを追加します。例えば、
[Table("Items")] public class Items { ... }
新しいテーブルごとに、DbSet フィールドを AccountModels.cs の UsersContexts クラスに追加します。
public class UserContext : DbContext {
... public DbSet<Items> Items {get; set; }
}
元のデータベース ファイルを削除し、同じ名前で新しいデータベース ファイルを作成して、アプリケーションを実行します。
出来上がり。新しいデータベースはすべてのテーブルでいっぱいになります。
これは正しい方法ですか?
それは機能しますが、ステップ3についてはよくわかりません。フレームワークは、新しいテーブルを作成する必要があることを知る必要があり、基本的にUserContextに新しいフィールドを追加すると、新しいテーブルの作成がトリガーされると考えました。これは正しいアプローチですか?
よろしくお願いいたします。
よろしく、
ピーター