带有NHibernate 2.1的SQL.Data.SqlLite版本
什么版本/实现的SQLLite可以与NHibernate一起使用。我得到一个错误: IDB命令和IDbConnection 大会的执行情况 找不到SQLite.NET。确保 程序集SQLite.NET是 位于应用程序目录中 或在全局程序集缓存中。如果 程序集位于GAC中,请使用 中的元素 应用程序配置文件 指定程序集的全名 让我说dll在bin目录中,我确定了。 我使用的是System.Data.SQLite.DLL版本1.0.60.0 下面是hibernate.cfg.xml带有NHibernate 2.1的SQL.Data.SqlLite版本,nhibernate,Nhibernate,什么版本/实现的SQLLite可以与NHibernate一起使用。我得到一个错误: IDB命令和IDbConnection 大会的执行情况 找不到SQLite.NET。确保 程序集SQLite.NET是 位于应用程序目录中 或在全局程序集缓存中。如果 程序集位于GAC中,请使用 中的元素 应用程序配置文件 指定程序集的全名 让我说dll在bin目录中,我确定了。 我使用的是System.Data.SQLite.DLL版本1.0.60.0 下面是hibernate.cfg.xml <
<property name="connection.driver_class">
<!--NHibernate.Driver.SqlClientDriver-->
NHibernate.Driver.SQLiteDriver
</property>
<property name="connection.connection_string">
<!-- Server=.\SQLEXPRESS;User Id=epitka;Password=password;Database=dnn49;-->
Data Source=nhibernate.db;Version=3
</property>
<property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
<property name="query.substitutions">true=1;false=0</property>
<property name="show_sql">true</property>
NHibernate.Driver.SQLiteDriver
数据源=nhibernate.db;版本=3
NHibernate.dialogue.sqlitedialogue
真=1;假=0
真的
我正在Windows XP box上运行此命令。IDbCommand和IDbConnection位于System.Data命名空间中,而不是SQLite中。您会发布您的nhibernate配置设置吗 以下是相关设置
dialect = NHibernate.Dialect.SQLiteDialect, NHibernate
connection.driver_class = NHibernate.Driver.SQLite20Driver, NHibernate
SQLite20Driver用于System.Data.SQLite,而SQLiteDriver用于SQLite.NET。所以SQLite20Driver就是你的答案。如果是这样的话,我在Windows7x64上也遇到了同样的问题;下载SQLite()的二进制发行版并参考x64版本。 如果从NHibernate的lib\NHibernate\configuration\u Templates文件夹获取配置模板,则必须从该url获取sqllite的dll 它是SQLite,驱动程序是NHibernate.driver.SQLiteDriver。但正如网站上所说,这个项目已经失败了 因此,您可以从此url或FluentNhibernate lib文件夹下载新的System.Data.SQLite.DLL 驱动程序是NHibernate.driver.SQLite20Driver 看到司机名字里的20了吗
无论如何,尽管我可能会澄清这个谜团。在VS2010中使用SQLite尝试Castle ActiveRecord时出错。通过遵循此说明并将目标框架从.NET 4更改为.NET 3.5解决了这个问题,我也得到了这个问题,但原因很简单,我在测试项目中的引用中没有设置CopyLocal=True