无法使用来自 EF 的视图自动生成控制器
Can't auto generate controller with views from EF
我做的步骤:
- 为 Visual studio 安装 Npgsql EF 扩展
- 创建一个新项目
- 从 nuget 安装 Npgsql
- 从 nuget
安装 EntityFramework6.Npgsql
- 使用服务器资源管理器创建到 postgresql 的连接
- 创建 ADO.NET 实体数据模型 - 来自数据库的 EF Designer
- 编译
- 使用 Entity Framework
创建控制器
最后一步给我这个错误:
There was an error running the selected code generator:
'Unable to retrieve metadata for 'MyProject.Models.MyClass'
Unable to find the requested .Net Framework Data Provider. It may not be installed.
所以我可以连接到 postgres,从 DB 创建模型,但不能从 EF 自动生成视图。
更多技术细节
- Npgsql 版本:3.2.7
- EntityFramework6.Npgsql 3.1.1
- PostgreSQL 版本:9.4
- 操作系统:Windows10
- Visual Studio 社区 2017 v15.4
在 webconfig 我有这个部分
<dependentAssembly>
<assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.7.0" newVersion="3.2.7.0" />
</dependentAssembly>
不确定是否需要添加任何其他内容以便 VS 将其视为已安装。
在配置文件中添加:
<system.data>
<DbProviderFactories>
<remove invariant="Npgsql"/>
<add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" support="FF"/>
</DbProviderFactories>
</system.data>
我做的步骤:
- 为 Visual studio 安装 Npgsql EF 扩展
- 创建一个新项目
- 从 nuget 安装 Npgsql
- 从 nuget 安装 EntityFramework6.Npgsql
- 使用服务器资源管理器创建到 postgresql 的连接
- 创建 ADO.NET 实体数据模型 - 来自数据库的 EF Designer
- 编译
- 使用 Entity Framework 创建控制器
最后一步给我这个错误:
There was an error running the selected code generator:
'Unable to retrieve metadata for 'MyProject.Models.MyClass'
Unable to find the requested .Net Framework Data Provider. It may not be installed.
所以我可以连接到 postgres,从 DB 创建模型,但不能从 EF 自动生成视图。
更多技术细节
- Npgsql 版本:3.2.7
- EntityFramework6.Npgsql 3.1.1
- PostgreSQL 版本:9.4
- 操作系统:Windows10
- Visual Studio 社区 2017 v15.4
在 webconfig 我有这个部分
<dependentAssembly>
<assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.7.0" newVersion="3.2.7.0" />
</dependentAssembly>
不确定是否需要添加任何其他内容以便 VS 将其视为已安装。
在配置文件中添加:
<system.data>
<DbProviderFactories>
<remove invariant="Npgsql"/>
<add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" support="FF"/>
</DbProviderFactories>
</system.data>