在将新模型添加到现有数据库

时间:2016-11-10 15:24:15

标签: asp.net-mvc ef-migrations

我创建了模型并执行了代码优先迁移,这导致了预先填充的向上方法。 但是在稍后阶段我将新模型添加到我的应用程序中。我添加的新模型是Cart,OrderDetails和Order。然后我为每个模型键入了add-migration,结果产生了空的向下方法。

我想问一下,当我添加新模型时,为什么这些向上方法是空的。 我在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模型和购物车模型引用了书籍模型(书籍模型包含在早期阶段对其执行的数据迁移,并包含填充的上下方法)。

这是新手,非常感谢帮助。 感谢

1 个答案:

答案 0 :(得分:-1)

答案: 在PM控制台中: add-migration initialcreate //这包括新添加的模型,例如它们的ID,(购物车,订单细节,订单模型)到上下方法