使用EF串連Postgresql

來源:互聯網
上載者:User

標籤:alt   com   frame   download   https   class   version   org   wiki   

環境:

VS2017 Community

Windows 10

Postgresql 9.6 

安裝Postgresql:

https://www.postgresql.org/download/

1.安裝我們需要的Nuget Packages:

install-package npgsql -version 3.1.1Install-Package EntityFramework6.Npgsql -Version 3.1.1

2.首先得安裝一個vs的擴充工具,這樣我們才能在server explorer中像連sql中一樣串連到postgresql資料庫。

3. 安裝好上面的擴充後,我們就在se中建立好我們的串連。

4.我們選擇的是Database First的方式,所以之後我們是從DB裡面來建立我們的DataModel。

 5.建立好Model後,我們試著來建立一個EF的Control.

 6.看到以下這個錯誤。

 

 7.Build一下我們的project之後,接著看到這個錯誤。

8.在Web config 裡加入如下的配置。

<system.data>    <DbProviderFactories>      <remove invariant="Npgsql"/>      <add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" support="FF"/>    </DbProviderFactories> </system.data>

9.應該能看到conttroller建立成功了。

10.但是訪問的時候,可能由於我們的表裡索引和外鍵的關係形成死迴圈,我們需要在Global.asax中加入如下的配置。

HttpConfiguration config = GlobalConfiguration.Configuration;config.Formatters.JsonFormatter            .SerializerSettings            .ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

 

接下來可以使用postman來測試自己的API是不是自己想要返回的東西了。

 

References:

http://www.npgsql.org/doc/index.html

https://www.nuget.org/packages/EntityFramework6.Npgsql/

https://www.nuget.org/packages/Npgsql/

https://github.com/npgsql/npgsql/issues/1439

https://wiki.postgresql.org/wiki/Using_Microsoft_.NET_with_the_PostgreSQL_Database_Server_via_ODBC

https://stackoverflow.com/questions/19467673/entity-framework-self-referencing-loop-detected

 

使用EF串連Postgresql

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.