【问题标题】:How to get SQLite up and running in Visual Studio?如何在 Visual Studio 中启动并运行 SQLite?
【发布时间】:2019-03-31 11:16:59
【问题描述】:

我在尝试将现有 SQLite 数据库连接到我的 C# 应用程序时遇到了重大问题。我已经安装了 32 位和 64 位的 SQLite 包,我已经安装了 SQLite/SQL Server Compact Tools 扩展,将 SQLite dll 安装到 GAC 中,将数十篇博客文章建议的各种不同的提供程序标签添加到我的 app.config,到我的 32位机器配置,到我的 64 位机器配置。有谁知道究竟需要做什么才能让 Visual Studio 让我将 SQLite DB 连接到我的应用程序?

我正在尝试使用“数据库中的 EF 设计器”选项将新的 ADO.NET 实体数据模型添加到我的应用程序中。我要么遇到“无法找到请求的 .Net Framework 数据提供程序”,而且 Visual Studio 甚至无法在对话框中找到我的数据库(即使我可以在服务器资源管理器中看到它)。

或者,在我安装了一个额外的 ADO.NET SQLite 作为 VS 扩展之后,我可以看到我的 SQLite 数据库并且测试连接成功,但是一旦点击下一步按钮,我就会得到这个:

我只通过 System.Data.Sqlite NuGet 包安装了 EF,我对整个提供商业务感到非常困惑。

请帮忙!谢谢!!!

【问题讨论】:

  • 已经尝试用我目前所拥有的进行重建,没有帮助
  • 我猜但是...对我来说似乎是一个实体框架问题...请参阅en.wikipedia.org/wiki/Entity_Framework ...您正在安装的实体提供程序的版本不被您的项目/视觉所喜欢工作室。你需要让这两个东西共享一个他们喜欢的版本。
  • 我这里有指导方针:github.com/ErikEJ/SqlCeToolbox/wiki/…
  • 非常感谢 @ErikEJ 的链接,关于对话框确认我在 GAC 中有 SQLite,但它显示“System.Data.SQLite DDEX 提供程序 - 否”。我已经摆弄了机器配置,但没有成功,我会完全按照你的指导重新做,看看会发生什么。如果这没有帮助,我如何获得 DDEX 提供程序?
  • 按照我的指示开始 ????

标签: c# .net entity-framework sqlite ado.net


【解决方案1】:

好的,通过提供指向详细指南的有用链接,我终于能够启动并运行所有内容。我已经完成了这里描述的内容:https://github.com/ErikEJ/SqlCeToolbox/wiki/EF6-workflow-with-SQLite-DDEX-provider

但是,我冒昧地为遇到相同问题的任何人提供一些额外的提示。

  1. 我仍然对要操作什么机器配置感到困惑(VS 是 32 位,但我正在开发一个 64 位应用程序),所以我在没有尝试在这种情况下哪个重要的情况下操作了两者。
  2. DbProviderFactories 中的重复结束标记 在提到的 github 页面中也描述了机器配置 就像在许多其他博客中一样,问题可能并不总是存在,而是 我的机器上不是这样。但如果你遇到它,清理它 无论如何。
  3. 如果您应用了所描述的更改,请仔细检查以确保您自己没有引入新的重复标签,否则您的 Visual Studio 将启动一个不寻常的起始页面和崩溃,在修复所有固定编辑器和工具窗口将消失,您将不得不重新安排一切!
  4. 点击后,您现有的 SQLite 数据库(即使在服务器资源管理器中可见)可能仍不会显示在 Entity Data Model WizardChoose Your Data Connection 部分中接下来。
  5. 在这种情况下,只需选择 New Connection...Continue,在掩码中输入您的连接字符串并在点击 OK 之前测试连接。然后应该选择您的数据库并且它应该可以工作。
  6. 如果您不知道 SQLite 数据库的连接字符串,但设法将其放入 服务器资源管理器,您可以通过右键单击并选择 服务器资源管理器中的属性,它将显示在“属性”窗口中。

【讨论】:

  • 嗨,SQLite Provider (Simple for EF6 by ErikEJ) 没有显示在带有New Connection..., Continue 的实体数据模型向导中,但我可以在SQLite Compact ToolboxServer Explore 中添加SQLite 连接,我使用的是VS2019
  • @TangMonk 我有同样的问题,但很遗憾没有解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-26
  • 2016-04-09
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多