C# 从实体框架6的代码设置数据库创建/迁移+;MySQL

C# 从实体框架6的代码设置数据库创建/迁移+;MySQL,c#,mysql,.net,entity-framework,database-migration,C#,Mysql,.net,Entity Framework,Database Migration,我以前在项目中使用过NHibernate和Fluent Migrator来创建数据库(如果它还不存在的话),并通过迁移脚本更新模式。我正在查看实体框架(6)以进行比较,但在复制该功能时遇到了问题 在我的App.config中,我设置了连接字符串和数据库提供程序。然后,我继续创建了一个数据模型,我希望它在数据库中表示为一个表 namespace DataModels { public class StoreClient { public int Id;

我以前在项目中使用过NHibernate和Fluent Migrator来创建数据库(如果它还不存在的话),并通过迁移脚本更新模式。我正在查看实体框架(6)以进行比较,但在复制该功能时遇到了问题

在我的
App.config
中,我设置了连接字符串和数据库提供程序。然后,我继续创建了一个数据模型,我希望它在数据库中表示为一个表

namespace DataModels
{
    public class StoreClient
    {
        public int Id;
        public string DisplayName;

        public StoreClient()
        {
        }
    }
}
然后我继续创建了一个数据库上下文

namespace DataModels
{
    public class StoreContext : DbContext
    {
        public DbSet<StoreClient> StoreClients { get; set; }
    }
}
命名空间数据模型
{
公共类StoreContext:DbContext
{
公共数据库集存储客户端{get;set;}
}
}
在服务启动时,我创建了一个
StoreContext
的实例,并尝试添加和调用
db.SaveChanges(),但此操作失败,因为没有与我的StoreClient匹配的架构

我的问题很简单。如何配置我的
StoreContext
(或通常的EF)以自动创建数据库架构,以及如何将其设置为在对该架构进行更改时进行迁移


这似乎很简单,但我四处搜索并没有得到任何来自NHibernate世界的熟悉信息。

如果希望自动创建数据库,请尝试在应用程序的\u Start()方法中添加一些代码。 例如:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<StoreContext, Configuration>());
StoreContext context = new StoreContext();
context.Database.Initialize(true);

太棒了,谢谢你的提示。在哪里配置迁移步骤?我假设它不仅仅是隐式地进行分类?当您启用迁移时,它为您构建了一个配置类,其中包含一些功能。我想所有其他的事情都是自动完成的。
namespace DataModels
{
    public class StoreClient
    {
        public int Id { get; set; }
        public string DisplayName { get; set; }
        public StoreClient()
        {
        }
    }
}