[英]Entity Framework 6 with Npgsql
我想在ASP.NET MVC 4项目中使用Entity Framework 6和PostgreSQL。 我得到了Entity Framework 6.0.2 + Npgsql 2.0.14.3,但是我收到了错误。 我该如何解决?
错误:
mscorlib.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
附加信息:实体框架提供程序类型'Npgsql.NpgsqlServices,Npgsql,Version = 2.0.14.3,Culture = neutral,PublicKeyToken = 5d8b90d52f46fda7'的'Instance'成员未返回继承自'System.Data.Entity的对象。 Core.Common.DbProviderServices'。 实体框架提供程序必须从此类继承,并且“实例”成员必须返回提供程序的单例实例。 这可能是因为提供者不支持实体框架6或更高版本; 有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882 。
Web.config文件
<system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider"
invariant="Npgsql"
description="Data Provider for PostgreSQL"
type="Npgsql.NpgsqlFactory, Npgsql" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="DatabaseContext" connectionString="Server=localhost;port=5432;Database=main;User Id=postgres;Password=password;" providerName="Npgsql" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, Npgsql" />
</providers>
</entityFramework>
我需要像这样安装Npgsql:
Install-Package Npgsql.EF6 -Pre
它安装了不同的版本。
更新:我发现对于较新的测试版,你可以写
install-package Npgsql.EntityFramework -pre
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.