gpt4 book ai didi

c# - EntityFramework 6.0 CreateDatabaseIfNotExists 代码先创建数据库

转载 作者:可可西里 更新时间:2023-11-01 08:41:23 24 4
gpt4 key购买 nike

我做错了什么。当我最初使用 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>());

关于c# - EntityFramework 6.0 CreateDatabaseIfNotExists 代码先创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19546241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com