有没有一种方法可以创建db而不向其添加数据ef代码优先

时间:2019-12-24 14:43:36

标签: c# sql-server entity-framework

我开始在实体框架中使用代码优先的方法,当启动控制台应用程序时,我看到了在sql服务器数据库文件夹中创建的新数据库,但是只有当我将某些数据推送到数据库时才创建它。 / p>

static void Main(string[] args)
        {
            var db = new MainModel();

            Product prod = new Product() { ProductName = "milk", ProductPrice = 4 };

            db.Products.Add(prod);
            db.SaveChanges();

            Console.WriteLine("done!");
            Console.ReadLine();

        }

现在,当我不添加任何数据时,数据库不会创建。 有没有一种方法可以使用代码优先方法初始化db而不将数据推入数据库?

2 个答案:

答案 0 :(得分:0)

1)打开cmd

2)转到项目文件夹(通过 cd ... /您的文件夹

3)输入 dotnet ef迁移添加MyFirstMigration

4)然后键入 dotnet ef数据库更新

有关更多详细信息,您可以访问here

答案 1 :(得分:0)

您应该创建dbContext类:

{
    public MyContext (DbContextOptions<MyContext > options)
        : base(options)
    { }

    public DbSet<Product> Products{ get; set; }
}