如果您知道步骤,使用ado.net在WPF .NET Framework项目上安装Sqlite相对容易。感谢MagicAndre提供的指导。以下是操作步骤:
1 - 从这里安装工具箱。这很简单。
2 - 从这里安装GAC。这就是我失败的地方。我只安装了64位软件包,而GAC需要32位软件包。所以请下载并安装以下软件包:
- sqlite-netFx46-setup-bundle-x86-2015-1.0.115.0.exe
- sqlite-netFx46-setup-bundle-x64-2015-1.0.115.0.exe
在安装32位软件包时,请注意按照下面的图像进行检查:
3 - 如果您还没有创建数据库,请从这里下载DB Browser。创建您的数据库,将其副本放置在项目中,并包括它。如果您之后要分发应用程序,则可以将构建操作设置为内容。
4 - 在Visual Studio中创建一个解决方案,并通过nugget安装:
System.Data.SQLite:这将自动安装其他4个软件包以及EntityFramework。
5 - 在Visual Studio中,转到服务器资源管理器,右键单击数据连接,添加连接
将数据源更改为:SQLite Provider(由ErikEJ简化的EF6)(SQLite Provider (Simple for EF6 by ErikEJ))
一个新窗口将打开
顶部的connectionString行将采用以下格式:
Data source="C:\Users...\Documents\Visual Studio 2019\Projects\sqlite\sqlite\demo.db";Version=3;
Data source=path;Version=3;
![enter image description here](https://istack.dev59.com/PsMk5.webp)
单击确定,连接将出现在服务器资源管理器中。
6 - ADO.NET:
右键解决方案,添加,添加新项。进入Data并选择ado.net EF Designer from database(数据库优先),您的连接应该出现:
![enter image description here](https://istack.dev59.com/iE9TM.webp)
点击下一步,选择所需的所有表格,然后点击完成。您的edmx文件将被准备并打开。
7 - 在您的app.config entityFramework部分中,应该有以下行:
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
下面应该是一个 system.data 部分,格式如下:
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
<remove invariant="System.Data.SQLite" />
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
最后,如果您要使用外键,请添加:
Foreign Key Constraints=On
在app.config文件中,连接字符串的路径和版本之间需要注意。我认为这就是开始的全部内容了。祝你好运。