如何在Visual Studio中运行SQLite?

3
我正在尝试将现有的SQLite数据库连接到我的C#应用程序中,但遇到了很大的问题。我已经安装了32位和64位的SQLite捆绑包,安装了SQLite / SQL Server Compact Tools扩展程序,在GAC中安装了SQLite dll,并向我的app.config、32位机器配置和64位机器配置中添加了许多不同的提供程序标签,这些都是几十篇博客文章中建议的。有人知道到底要做什么才能让Visual Studio让我将我的SQLite数据库连接到我的应用程序中吗?
我正在尝试使用“从数据库中的EF设计器”选项向我的应用程序添加新的ADO.NET实体数据模型。我要么受到“无法找到请求的.Net Framework数据提供程序”的打击,而且Visual Studio甚至在对话框中找不到我的DB(即使我可以在服务器资源管理器中看到它)。
或者,在我安装了额外的ADO.NET SQLite作为VS扩展之后,我可以看到我的SQLite数据库并且测试连接成功,但是一旦我点击下一步按钮,就会出现以下情况:

enter image description here

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

请帮忙!谢谢!!!


已经尝试使用目前所拥有的内容进行重建,但没有帮助。 - DanDan
我猜仅供参考...看起来是实体框架的问题...请参阅https://en.wikipedia.org/wiki/Entity_Framework...您正在安装的实体提供程序版本不受您的项目/ Visual Studio欢迎。您需要使两者共享一个它们喜欢的版本。 - Atrix
1
我这里有指南:https://github.com/ErikEJ/SqlCeToolbox/wiki/EF6-workflow-with-SQLite-DDEX-provider - ErikEJ
非常感谢 @ErikEJ 提供的链接,关于对话框确认我在 GAC 中有 SQLite,但它说“System.Data.SQLite DDEX provider - No”。我已经尝试过调整机器配置,但没有成功,我将按照您的指南重新设置并查看发生了什么。如果这样还不行,我该如何获取 DDEX 提供程序? - DanDan
1
请按照我的指示开始操作。 - ErikEJ
按照链接提供的确切步骤操作,现在运行得非常顺畅!再次感谢@ErikEJ。 - DanDan
1个回答

4

好的,通过遵循提供的有用链接到详细指南,我最终能够让所有东西都正常运行了。我完全按照这里所描述的做法: https://github.com/ErikEJ/SqlCeToolbox/wiki/EF6-workflow-with-SQLite-DDEX-provider

但是,我要为任何遇到同样问题的人提供一些额外的提示。

  1. 我仍然对要操作哪个机器配置文件感到困惑(VS是32位的,但我正在开发一个64位应用程序),所以我在没有尝试哪一个是相关的情况下两者都进行了更改。
  2. 众所周知,在所述 github 页面以及其他许多博客中,“DbProviderFactories” 中的重复闭合标记可能并不总是问题,并且在我的机器上也不是这种情况。但是如果您遇到它,请务必清理它。
  3. 如果您应用了所述更改,请仔细检查,确保您自己不引入新的重复标签,否则您的 Visual Studio 将以异常外观的启动页和 crahs 启动,修复后,您所有固定的编辑器和工具窗口都将丢失,您将不得不重新排列所有内容!
  4. 即使在服务器资源管理器中可见,您现有的 SQLite 数据库可能仍然不会显示在“选择数据连接”部分的“Entity Data Model Wizard”中。
  5. 在这种情况下,只需选择“新建连接...”,“继续”,将连接字符串输入到掩码中并在单击“确定”之前测试连接。然后应该选择您的数据库,并且应该可以正常工作。
  6. 如果您不知道 SQLite 数据库的连接字符串,但设法将其放入“服务器资源管理器”中,则可以右键单击并选择“属性”,它将显示在“属性”窗口中。

enter image description here

enter image description here

enter image description here


1
嗨,SQLite Provider (Simple for EF6 by ErikEJ)Entity Data Model Wizard with New Connection..., Continue 中没有显示出来,但我可以在 SQLite Compact ToolboxServer Explore 中添加 SQLite 连接,我正在使用 VS2019。 - TangMonk
@TangMonk 我也遇到了同样的问题,但是很遗憾没有解决方案。 - HendrikKoelbel
我按照指示安装了所有东西(VS2019),但出现了同样的问题。除 ".NET Framework Data Provider for SQL Server" 之外,没有列出其他提供程序。此外,在此页面上 Erik 的屏幕截图显示了向项目添加实体数据模型 (EDMX) 的右键菜单项...在工具箱的 v4.8.735 中我没有这个选项。这阻止了我使用 SQLite。我正在考虑寻找另一个可用的数据库... - radders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接