我在 VS2022 中的解决方案中添加了一个新的 .Net 6.0 项目。安装了EntityFramework 6.4.4。现在尝试install-package entityframework将 ADO.Net 实体框架模型添加到项目中。我收到错误:
该项目的目标框架不包含实体框架运行时程序集。请查看项目属性页面上的目标框架信息。
我尝试添加其他几个 EF 包(根据此处的文档,这应该不是必需的: https: //learn.microsoft.com/en-us/ef/ef6/fundamentals/install)。我认为问题出在我的安装上,但我创建了一个包含问题的 .Net 6.0 控制台应用程序并将其发送给同事,他收到了相同的消息。
还在这里找到了这个主题:在 Visual Studio 2022 上添加实体框架模型,但那里没有答案。
重现步骤:
install-package entityframework使用包管理器控制台窗口安装 EF6 包。出现错误:
我正在尝试从数据库生成类(EntityFramework的数据库第一种方法).
为方便起见,我或多或少地参与了本教程:https: //docs.efproject.net/en/latest/platforms/full-dotnet/existing-db.html
我正处于Visual Studio包管理器控制台中运行相当于这行代码的地步:
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -Verbose
Run Code Online (Sandbox Code Playgroud)
这行代码生成错误(启用-Verbose模式):
Using startup project 'EFSandbox'.
Using project 'EntityFrameworkCore'
Build started...
Build failed.
Run Code Online (Sandbox Code Playgroud)
我没有看到任何产生任何有意义输出的选项,我看不到有关此特定错误的文档.如果它有帮助,那么这个项目目前没有project.json文件.一切都在.csproj文件中,我没有手动编辑.
使用 ASP.NET CORE EF,我使用以下命令从现有数据库生成模型类:
Scaffold-DbContext "Server=myserver\mydb;Database=mydb;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Run Code Online (Sandbox Code Playgroud)
现在我的数据库发生了变化,例如我在表中添加了一个新列AppUser。我不想使用迁移来保持模型与数据库的同步。
我已经在数据库中进行了更改,现在我想从当前数据库状态更新现有的模型类。有什么建议如何做到这一点?
我是否应该删除现有的模型类并使用相同的命令重新生成Scaffold-DbContext,或者我们是否有任何其他方法使现有的模型类反映新的更改。
我使用 Visual Studio 2022 和 .Net 6.0,在创建实体框架模型时添加实体框架 6.4.4 后安装了它。我收到一条弹出消息说。
该项目的目标框架不包含实体框架运行时程序集。请查看项目属性页面上的目标框架信息。