我刚刚使用EntityFramework Core和Scaffold-DbContext NuGet Package Manager控制台命令构建了一堆POCO类和一个DbContext类。
它生成了一堆代码,大部分代码都没问题,除了有几次调用编译器找不到的HasColumnType和HasName方法。不幸的是,VS2017也没有帮我找到它们。我通过NuGet包管理器安装了EntityFramework Core,我认为所有依赖项都已正确安装,但似乎并非如此。我已经尝试使用Google搜索HasColumnType的命名空间但无法找到它。
有人可以告诉我我缺少什么命名空间或NuGet包吗?
答案 0 :(得分:11)
这些扩展位于Microsoft.EntityFrameworkCore.Relational包中,因为它们对于建模关系数据库非常有用。
https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/
答案 1 :(得分:1)
我也有同样的问题。按照此Microsoft文档链接https://docs.microsoft.com/en-us/ef/core/providers/,您需要添加特定的数据库提供程序nuget程序包,例如Microsoft.EntityFrameworkCore.SqlServer
。
用于关系数据库的EF Core提供程序建立在通用的Microsoft.EntityFrameworkCore.Relational
库上,该库提供用于配置表和列映射,外键约束等的API。提供程序通常以NuGet包的形式分发。
因此无需添加两个软件包,而是添加更具体的Microsoft.EntityFrameworkCore.SqlServer
软件包对我有用。
答案 2 :(得分:1)
在程序包管理器控制台中,按此命令
install-package Microsoft.EntityFrameworkCore.SqlServer
这将自动安装
Microsoft.EntityFrameworkCore.Relational
Microsoft.Data.SqlClient