EF+postgresql中的一些问题
需要基于MVC的WebAPI搭建一個服務接口,數據存儲在postgresql數據庫,在使用的過程中遇到了很多問題。做一下記錄:
(1)?System.IO.FileLoadException: 未能加載文件或程序集“Npgsql, Version=3.1.2.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040)
? ? 項目采用codefirst的方式,但是在搭建項目的時候,總是遇到這個錯。
我的步驟如下
1、安裝entityframework6?
? ? ? 打開 Package Manage Console,輸入命令?Install-Package EntityFramework;
2、安裝npgsql 的entityframework支持
命令 ?Install-Package EntityFramework6.Npgsql
3、安裝 npgsql
? ? ? 命令 ??Install-Package Npgsql
配置文件代碼示例
<entityFramework><defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /><providers><provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /><provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" /></providers></entityFramework><system.data><DbProviderFactories><remove invariant="Npgsql"></remove><add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Framework Data Provider for Postgresql Server" type="Npgsql.NpgsqlFactory, Npgsql" /></DbProviderFactories></system.data><connectionStrings><add name="TestDbContext" connectionString="Server=localhost;Database=test; User Id=dba;Password=12345678;" providerName="Npgsql" /></connectionStrings>但不知道為什么,還是會報錯!
后來,我下是不是包的安裝順序搞錯了!!就把上面的2和3換了一下!成功!!!
哎,也是醉了!這個小問題,都糾纏了這么久!寫代碼需要更加小心啊!
轉載于:https://www.cnblogs.com/cemaster/p/5940706.html
總結
以上是生活随笔為你收集整理的EF+postgresql中的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。