Visual Studio 2019 - WPF .Net Framework 4.8 - 使用 ADO.NET 添加 SQLite

Visual Studio 2019 - WPF .Net Framework 4.8 - Adding SQLite with ADO.NET

我正在尝试使用 ADO.Net 添加 SQLite,但我真的很挣扎。

这是我安装的包:

我错过了什么?我们如何在 vs2019 中使用带有 ado.net 的 sqlite?

如果您知道这些步骤,在 WPF .NET Framework 项目上使用 ado.net 安装 Sqlite 相对容易。 感谢 MagicAndre 提供指导。我们开始:

1 - 从 here 安装工具箱。这是直截了当的。

2 - 从 here 安装 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 - 如果您尚未创建数据库,请从 here 下载数据库浏览器。创建您的数据库,在您的项目中放置一个副本,并将其包含在内。如果您稍后要分发应用程序,可以将构建操作设置为内容。

4 - 在 visual studio 中创建一个解决方案,然后安装 nugget: System.Data.SQLite:这将自动安装其他 4 个软件包以及 EntityFramework

5 - 在 visual studio 中,转到您的服务器资源管理器,右键单击数据连接,添加连接

将您的数据源更改为:SQLite Provider(ErikEJ 的 EF6 简单)(SQLite Provider(ErikEJ 的 EF6 简单))

一个新的 window 将打开 顶部的 connectionString 行将采用以下格式:
Data source="C:\Users...\Documents\Visual Studio 2019\Projects\sqlite\sqlite\demo.db";Version=3;
数据源=路径;版本=3;



单击确定,连接将出现在服务器资源管理器中。

6 - ADO.NET:
右击解决方案,添加,添加新项。转到数据和 select ado.net 来自数据库的 EF Designer(首先是数据库),您的连接应该出现:



单击下一步,select 需要所有表,然后单击完成。然后将准备并打开您的 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 文件中。

我认为这就是开始。祝你好运。