2016-09-16 40 views
0

我想在Windows 7 WPF應用程序中使用System.Data.SQLite。WPF應用程序中的System.Data.SQLite

我已經下載並從https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

安裝

sqlite-netFx46-setup-bundle-x86-2015-1.0.103.0.exe 

我也裝我曾嘗試創建一個ADO.Net實體數據模型中的NuGet包

EntityFramework version=6.0.0 
System.Data.SQLite version=1.0.103 
System.Data.SQLite.Core version=1.0.103 
System.Data.SQLite.EF6 version=1.0.103 
System.Data.SQLite.Linq version=1.0.103 

和失敗。這可能嗎。我可以使用什麼方法創建數據庫?代碼優先?模型優先(.edmx)?手寫SQL代碼來創建數據庫?

我無法找到使用SQLite與.Net的文檔。有希望還是應該使用不同的數據庫? 有沒有可以引導我走向的文檔?

在此先感謝。

回答

0

您可以使用「代碼優先」,但無需遷移。以下是關於如何使用SQLite 3和EF6設置項目+遷移的簡單指南:http://hintdesk.com/sqlite-with-entity-framework-code-first-and-migration/。基本上你必須手工編寫所有的SQL遷移。

他們/正計劃增加在EF7遷移的支持,但他們還沒有收到太遠尚未:https://github.com/aspnet/EntityFramework/blob/dev/src/Microsoft.EntityFrameworkCore.Sqlite/Migrations/SqliteMigrationsSqlGenerator.cs#L149

有一些SQLite的限制,這使得這很難實現:http://ef.readthedocs.io/en/latest/providers/sqlite/limitations.html#migrations-limitations

+0

感謝響應。我最終通過使用表的創建和C#類與EF插入和查詢的組合,最終得到它的工作。 – kurgaan

+1

這就是要走的路。大多數您習慣的EF6代碼在那裏,除了遷移。您可以擁有FK和導航屬性 - 您可以使用'.Include(...)'等加載。 –