Visual StudioでASP.NET MVCサンプルアプリケーションを作成しました。 Entity Frameworkで移行しないでデータベースを更新します
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public ICollection<Product> Products { get; set; }
}
public class Order
{
public int Id{ get; set; }
public Product Product { get; set; }
public int ProductId { get; set; }
public DateTime RegisterDate { get; set; }
}
、その後、私はこのようなメイン
DbContext
に2
DbSet
を追加しました:私は以下のような2つのクラスを追加
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public IDbSet<Product> Products { get; set; }
public IDbSet<Order> Orders { get; set; }
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
しかし、私はプロジェクトを実行すると、今、私はこのエラーを取得:
データベースが作成されてから 'ApplicationDbContext'コンテキストをサポートするモデルが変更されました
私は、移行(Add-migrations
とupdate-database
)を使用せずにデータベースを更新する方法があることを知りたがっていますか?
私はあなたが[データベースの初期化]を使用することができます – Rise
DropCreateDatabaseIfModelChangesを探していると思います(http://www.entityframeworktutorial.net/ code-first/database-initialization-strategy-in-code-first.aspx)を参照してください。これらは早期開発に便利であり、独自のシードメソッドを持っています。保存したい非シードデータを取得したら、移行に切り替えることができます。ヌルイニシャライザを使用してもデータベースオブジェクトは作成されません。コードモデルがデータベースと一致する(危険な)と想定します。 –