gpt4 book ai didi

c# - 无法使 EF Code First 使用手动更改的数据库

转载 作者:太空狗 更新时间:2023-10-29 23:55:00 28 4
gpt4 key购买 nike

我已经向我的域模型类添加了两个新属性,并相应地向数据表添加了两个属性。然后我尝试启动我的 mvc web 应用程序并得到

The model backing the 'EFDbContext' context has changed since the database was created.  
Consider using Code First Migrations to update the database
(http://go.microsoft.com/fwlink/?LinkId=238269).

已阅读以下帖子:

MVC3 and Code First Migrations

EF 4.3 Automatic Migrations Walkthrough

我尝试通过 Package Manager Console Update-Database,但出现错误

Get-Package : Не удается найти параметр, соответствующий имени параметра "ProjectName".
C:\Work\MVC\packages\EntityFramework.5.0.0\tools\EntityFramework.psm1:611 знак:40
+ $package = Get-Package -ProjectName <<<< $project.FullName | ?{ $_.Id -eq 'EntityFramework' }
+ CategoryInfo : InvalidArgument: (:) [Get-Package], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,NuGet.PowerShell.Commands.GetPackageCommand

The EntityFramework package is not installed on project 'Domain'.

但是 Entityframework 安装在项目 Domain 上。我从引用中删除了它,删除了 package.config 并成功地重新安装了 EF。但是 Update-Database 仍然返回同样的错误。 Update-Database -Config 也是如此

我做错了什么?

编辑

非常感谢 Ladislav Mrnka,我将尝试重新表述我的问题。至于我手动更改了我的数据表,我预计不会使用迁移。但是我现在如何让 EF 与手动编辑的领域模型类和数据表一起工作?

最佳答案

尝试将其添加到您的应用程序的启动中(您可以将其添加到 App_Start):

Database.SetInitializer<EFDbContext>(null);

它应该关闭所有与从 EF 处理数据库相关的逻辑。您现在将全权负责保持数据库与模型同步。

关于c# - 无法使 EF Code First 使用手动更改的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12067955/

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