因此,基本上,我试图在EF6.0上完成我的第一个应用程序/后端系统,问题是,由于术语的原因,我开始混淆.NET和.NET框架,从外观上看,我并不是单独造成了一些问题。
我首先做代码,我希望我的模型在一个蔚蓝的sql数据库上自动转换为sql表,但是在尝试运行添加迁移之后,他抱怨首先需要一个配置文件,所以我决定通过cli全局安装ef,而不是块控制台管理器,然后运行dotnet迁移脚本-i,但是它抱怨涉及"GetEFProjectMetadata“的循环依赖。在通过google进行扩展之后,所有的迁移似乎都使用了.net核心6.0。
那么,我是否需要再次将整个项目迁移到.net核心6.0?或者是否有一种使用.net框架6.0的方法?
如果问题来得太仓促,或者我没有提供足够的信息,对不起,因为我在linux上巧妙地工作,我的系统是用我的母语,所以翻译要么比较费时,要么就不是1:1的错误信息。
编辑:
以下是我所指的错误:
(*drive path up to user*)\OneDrive\Documents\Visual Studio 2022\Projects\MakrBackend(solution root, it was refactored to Makr-Backend once though strangely it didn't change the actual folder name)\Makr-Backend(project)\obj\Makr-Backend.csproj.EntityFrameworkCore.targets(4,5): error MSB4006: Há uma dependência circular no elemento gráfico de dependência circular de destino envolvendo o destino "GetEFProjectMetadata". [(*drive path up to user*)\OneDrive\Documents\Visual Studio 2022\Projects\MakrBackend\Makr-Backend\Makr-Backend.csproj]
Unable to retrieve project metadata. Ensure it's an SDK-style project. If you're using a custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.
为了在我的机器上复制它,我只需要去显示->终端,它显然打开了一个加密的电源外壳,在其中我编写了dotnet --ef迁移添加了InitDB dotnet并在全球范围内安装了dotnet--ef用一些简单的独角兽的ascii hart回答我,并提供了一些一般性的帮助建议和参数信息。
正如前面建议的那样,由于我不能使用实体框架,这个解决方案被删除了好几次,最近一次尝试中,我决定不使用haven ( Makr-Backend ),因为我担心这个项目稍后会持续数据,因此我将解决方案改名为Makr-Backend,并创建了一个新的项目,并使用了相同的名称,虽然我删除了这个项目,但我没有意识到他仍然存在于根目录中,虽然我巧妙地使shure im没有困扰该文件夹,但我没有将它从系统中清除出来的唯一原因是它包含了我打算用作数据库模型的图形。
另一个编辑--显然是实体框架和实体框架核心--是完全不同的,我最终成功地完成了我想做的事情,我将项目迁移到.net核心,并且只使用实体框架核心aproach,最后我成功地填充了我的蔚蓝数据库
发布于 2022-03-09 13:20:21
"dotnet“是实体框架核心的cli工具。不要将它与实体框架相混淆。。
您不一定需要将应用程序升级到.NET 6,您可以检查实体框架核心关于支持的版本的文档。
此外,我相信这文章将帮助您更好地理解命名。
https://stackoverflow.com/questions/71409417
复制相似问题