PropertyBuilder <t>不包含HasColumnType的定义

时间:2017-11-11 00:20:08

标签: c# entity-framework-core fluent-entity-framework

我刚刚使用EntityFramework Core和Scaffold-DbContext NuGet Package Manager控制台命令构建了一堆POCO类和一个DbContext类。

它生成了一堆代码,大部分代码都没问题,除了有几次调用编译器找不到的HasColumnType和HasName方法。不幸的是,VS2017也没有帮我找到它们。我通过NuGet包管理器安装了EntityFramework Core,我认为所有依赖项都已正确安装,但似乎并非如此。我已经尝试使用Google搜索HasColumnType的命名空间但无法找到它。

有人可以告诉我我缺少什么命名空间或NuGet包吗?

3 个答案:

答案 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