Tôi đang cố gắng tạo một POC nhỏ cho sếp của mình về sự kết hợp của npgsql 12 và ef6, đã tạo một dự án mới trên studio trực quan tạo cơ sở dữ liệu mẫu tạo các lớp tương ứng và dbcontext , bất cứ khi nào tôi thử và sử dụng ef để truy cập cơ sở dữ liệu tôi nhận được lỗi folowing:Sử dụng npgsql 12 và ef 6 cùng nhau - có ai thành công với nó không?
The 'Instance' member of the Entity Framework provider type 'Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' did not return an object that inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. Entity Framework providers must inherit from this class and the 'Instance' member must return the singleton instance of the provider. This may be because the provider does not support Entity Framework 6 or later; see http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
tôi biết rằng nó cần được hỗ trợ trong một thời gian khá bây giờ http://fxjr.blogspot.co.il/2013/06/initial-ef-6-support-added-to-npgsql.html
tuy nhiên tôi có thể dường như không nhận được nó để làm việc, App.C của tôi tệp onfig trông giống như sau:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http:// go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!--<section name="entityFramework" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />-->
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<defaultConnectionFactory type="Npgsql.NpgsqlFactory, Npgsql">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="Npgsql" type="Npgsql.NpgsqlFactory, Npgsql" />
</providers>
</entityFramework>
<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="CoolestPGSoft"
connectionString="Server=127.0.0.1;Port=5432;Database=CoolestPGSoft;User Id=postgres;Password=********;"
providerName="Npgsql" />
</connectionStrings>
</configuration>
bất kỳ trợ giúp nào sẽ được đánh giá cao!
Mất một thời gian để tự mình tìm hiểu - phải vào bảng điều khiển trình quản lý gói và sử dụng "Gói cài đặt npgsql -Pre", cũng di d rằng trên khuôn khổ thực thể, nhờ xác nhận tôi nên đã làm điều đó chỉ cho npgsql. –
Sử dụng NpgSql đó từ tệp Zip ở đây (2.0.13.91) Thật vậy, không ném ngoại lệ DbProvider nhưng nó ném một số ngoại lệ lạ khác trên truy vấn. EF6 và NpgSql 2.0.14.3 Hiện có sẵn trên nuget mà không cần sử dụng -pre. Nhưng tôi vẫn rơi trở lại cùng một ngoại lệ được đề cập ở trên. Cả hai phiên bản ổn định của EF và NpgSql được phát hành ở đó phải có giải pháp! –