环境:ASP.NET Core 3.1
工具:VS2019
官方文档的起始页地址:教程:使用 ASP.NET Core 创建 Razor Pages Wb 应用 | Microsoft Learn
添加基架生成CRUD类时,提示报错
To scaffold controllers and views using models please install Entity Framework core packages and try again: Microsoft.EntityFrameworkCore.Design
解决方法:安装EntityFrameworkCore(我选择的5.0.0版本,但发现有问题)
接着继续添加,提示报错
Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. 系统找不到指定的文件。
解决方法:安装Microsoft.Bcl.AsyncInterfaces的1.0.0版本(后续仍然需要修改)
继续添加,提示报错
The database provider attempted to register an implementation of the 'IRelationalTypeMappingSource' service. This is not a service defined by Entity Framework and as such must be registered as a provider-specific service using the 'TryAddProviderSpecificServices' method.
出错的原因是EntityFrameworkCore的版本与它的依赖库不一致
解决方法:修改Microsoft.Bcl.AsyncInterfaces的版本为1.1.1,EntityFrameworkCore版本为3.1.30,改为3.1.30是因为它的依赖包Microsoft.EntityFrameworkCore.SqlServer和Microsoft.EntityFrameworkCore.Tools都是这个版本。
Add-Migration和Update-Database命令是EF中Code First(代码优先)模式的关键命令,由于Code First模式用的很少,所以不用深究。项目中一般会使用DataBase First(数据库优先),即根据数据库的表结构生成实体类,因为这种方式更加稳妥。
(待续未完)
上一篇:勒沃库森全场围攻0-0门兴,弗林蓬连丢良机 勒沃库森门兴集锦 勒沃库森2-3弗赖堡进球集锦
下一篇:德甲-诺伊尔送点+扑点科曼伤退 拜仁3-2奥格斯堡先赛距榜首1分 诺伊尔拜仁比赛汇总 诺伊尔三连扑拜仁vs哥本哈根