モデルを作成し、コードを最初にマイグレーションしました。 しかし、後の段階で私は自分のアプリケーションに新しいモデルを追加しました。私が追加した新しいモデルはカート、注文詳細、注文です。次に、これらのモデルのそれぞれに対して追加マイグレーションをタイプしました。その結果、空のアップメソッドが生成されました。コード最初のマイグレーションでは、新しいモデルを既存のデータベースに追加するときに空のアップメソッドが生成されます
私は新しいモデルを追加したときになぜこれらのアップ方法が空であるのか尋ねたいと思います。 これらのモデルは、以前に作成したモデルを参照していたdbcontextと同じdbcontextで参照しました。ここで
public class OrderDetail
{
public int OrderDetailId { get; set; }
public int OrderId { get; set; }
public int BookId { get; set; }
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public virtual Book Books { get; set; }
public virtual Order Order { get; set; }
}
public class Cart
{
[Key]
public int RecordId { get; set; }
public string CartId { get; set; }
public int BookId{ get; set; }
public int Count { get; set; }
public virtual Book Book { get; set; }
}
class Order
{
public int OrderId { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
}
は私dbcontextは私が新しく追加されたのに関して上下に新しいメソッドを移入ないか、要するに
public BookStoreOnlineDB() : base("name=BookStoreOnlineDB")
{
}
public System.Data.Entity.DbSet<BookStoreOnline.Models.Book> Books { get; set; }
public System.Data.Entity.DbSet<BookStoreOnline.Models.Author> Authors { get; set; }
public System.Data.Entity.DbSet<BookStoreOnline.Models.BookStatus> BookStatus { get; set; }
public System.Data.Entity.DbSet<BookStoreOnline.Models.Genre> Genres { get; set; }
public System.Data.Entity.DbSet<BookStoreOnline.Models.Order> Orders { get; set; }
public System.Data.Entity.DbSet<BookStoreOnline.Models.OrderDetail> OrderDetails { get; set; }
public System.Data.Entity.DbSet<BookStoreOnline.Models.Cart>Carts { get; set; }
}
です:
これらは私が追加された新しいモデルクラスですCart、OrderDetail、Detailモデル。
N.B. orderDetailsモデルとカートモデルはブックモデルを参照しています(ブックモデルには、データマイグレーションが以前の段階で実行され、ポップアップされたアップメソッドが含まれています)。
これは初めてのことですが、本当に助かります。 PMコンソールの :
はアップデートを実行してみてください-Database -Script -SourceMigration $ InitialDatabaseを選択します。以前のオブジェクトでスクリプトを生成しますか?あまりにも遠すぎず[マイグレーションをリセットする]場合(https://weblog.west-wind.com/posts/2016/jan/13/resetting-entity-framework-migrations-to-a-clean-slate) –
@ SteveGreeneうまくいきませんでしたが、とにかくありがとうございます –
あなたの質問には、add-migrationにコードはありませんでした。あなたの解決策によると、add-migrationにコードが追加されました。あなたは何を変えたり変わったりしましたか? –