我有一个在.NET Core 1上运行的旧程序,希望它能与.NET 5一起使用。我没有经历一步一步升级每个版本的繁琐过程,而是决定创建一个新的解决方案,从头开始。通过这样做,我可以从旧项目中复制大多数文件。
我的问题在DbContext类中。
public partial class ClassName : DbContext
自始至终都有很多错误,但每一个都给了我相同(或类似(的建议来解决它们,涉及到一个缺失的使用参考。
The type or namespace name 'DbContext' could not be found (are you missing a using directive or an assembly reference?) Cannot resolve symbol 'DbContext'
现在,我知道我错过了using Microsoft.EntityFrameworkCore;
引用。因此,当我将该包添加到项目中时,我的文件发生了更改,现在我得到了大约500个错误(大约是文件中一半的行(。
这些新错误的一些例子如下:
entity.HasKey(e => e.Id)
.HasName("PK");
entity.ToTable("TB");
在上面的代码段中,.HasName
抛出错误'KeyBuilder' does not contain a definition for 'HasName' and no accessible extension method 'HasName' accepting a first argument of type 'KeyBuilder'.
作为一个刚接触实体框架的人,我是缺少了一些明显的东西,还是应该重新构建数据库以重新创建这些上下文文件?
这里还没有答案,所以有人可能会错过评论实际上包含的答案。
正如@Kirk Larkin在对该问题的评论中所说,解决方案是添加Microsoft.EntityFrameworkCore.Relational
包。