DbContext问题从.NET Core 1升级到.NET 5



我有一个在.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包。

最新更新