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換了一下!成功!!!

  哎,也是醉了!這個小問題,都糾纏了這么久!寫代碼需要更加小心啊!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM