加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – EntityFramework 6.0 CreateDatabaseIfNotExists首先创建

发布时间:2020-12-15 06:50:53 所属栏目:百科 来源:网络整理
导读:我究竟做错了什么.我有一个用户DbContext设置和工作,当我最初创建的Code-First与power shell它一切正常. 我在应用程序启动时按预期实现了Database Initializer. Database.SetInitializerUserDbContext(new CreateDatabaseIfNotExistsUserDbContext()); 只是
我究竟做错了什么.我有一个用户DbContext设置和工作,当我最初创建的Code-First与power shell它一切正常.

我在应用程序启动时按预期实现了Database Initializer.

Database.SetInitializer<UserDbContext>(new CreateDatabaseIfNotExists<UserDbContext>());

只是为了测试它是否真的创建了数据库,我实际上删除了数据库,现在我被卡住了将不会创建数据库.我使用SQL Server 2012,任何想法可能是错的.

我得到的错误信息是

System.InvalidOperationException: Migrations is enabled for context 'UserDbContext' but the database does not exist or contains no mapped tables. Use Migrations to create the database and its tables,for example by running the 'Update-Database' command from the Package Manager Console.

我已经尝试从包管理器控制台,它仍然给我相同的消息.

解决方法

最后想出了解决方案,不知道为什么或什么.将我的数据库初始化程序更改为MigrateDatabaseToLatestVersion而不是CreateDatabaseIfNotExists工作.
Database.SetInitializer<UserDbContext>(new MigrateDatabaseToLatestVersion<UserDbContext,Configuration>());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读