2012-12-20 50 views
0

Linqpad v4.26终端用户机无法找到System.Data.SQLite

这个过程对我开发框的伟大工程。我手动复制到最终用户安装文件夹linqpad.exe,linqpad.exe.config,custom.dll,system.data.sqlite.dll和system.data.sqlite.linq.dll。

我创建一个连接,单击单选按钮使用一个类型化的数据上下文形式自己的程序集。选择实体框架,选择下一步,浏览到我的自定义dll。选择提供者单选按钮到其他。 System.Data.SQLite不在下拉列表中。

我在Dev框中运行了sqlite setup-bundle安装程序,以便在GAC中安装sqlite以支持VS2010设计器。

感谢,

约翰

回答

1

,显示数据库提供商填充了System.Data.Common.DbProviderFactories.GetFactoryClasses()下拉。如果没有列出SQLite,那么它尚未在machine.config中注册。但是,LINQPad不会像您在构建实体框架连接字符串时手动输入提供者的名称。

+0

这必须解释为什么我不得不把这个在我的app.config类也:<删除不变=“System.Data.SQLite” /><添加名称=“SQLite的数据提供者”不变= “System.Data.SQLite”type =“System.Data.SQLite.SQLiteFactory,System.Data.SQLite”/> John

+0

发言太快......当我将以上添加到linqpad.exe.config文件我在下拉列表中看到了System.Data.SQLite,但是当选择测试按钮linqpad时,我说有一个有效连接,并且存在一个内部异常:指定的存储提供者在配置中找不到,或者无效。 – John

+0

尝试将其添加到名为linqpad.config的文件中 - 这是您的查询配置,而不是LINQPad本身。 –

0

+1,因为即使我可以在下拉菜单中看到它,它似乎不是有效的。

我现在已经做了以下无济于事:

  1. 然在客户机上的sqlite-netFx40 - 设置 - x86-2010-1.0.82.0.exe。
  2. 将readme.htm部分复制/粘贴到Linqpad.exe.config文件中。
  3. 将System.Data.SQLite.dlls从Program Files \ System.data.sqlite复制到安装了Linqpad的应用程序目录中。
  4. 燃起了linqpad选择我的自定义提供程序。它显示了所有的表格,但只要我尝试运行任何查询,我就会遇到异常。