EntityFramework 6.0 CreateDatabaseIfNotExists 首先代码创建数据库

2023-11-27

我究竟做错了什么。当我最初使用 powershell 创建 Code-First 时,我已经有了一个用户 DbContext 设置和工作,一切都工作正常。

我在应用程序启动时按预期实现了数据库初始化程序。

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>());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EntityFramework 6.0 CreateDatabaseIfNotExists 首先代码创建数据库 的相关文章

随机推荐