(C#,asp.net 4.0,NHibernate 2.2)。我们有两个使用NHibernate的应用程序; Web应用程序和预定作业应用程序(恰好使用Quartz作为平台)。
Web应用程序使用两个不同的dll,X和Y通过NHibernate访问不同的数据库;调度程序当前使用X.我正在尝试在调度程序中获得一个新工作也使用dll Y.
我在NHibernateSession.Load上不断收到“无法找到持久性”异常。没有InnerException。
当我查看会话时,它与Y的数据库连接正确。此外,会话的名称是我对设置sessionFactory的期望。我觉得好像我的配置主要在那里,但我错过了一个关键部分。
似乎我们可以消除映射文件不是嵌入式资源等问题,因为webapp使用dll Y就好了。当然,我确实验证了这一点。但是,由于DLL是通过其他地方的NHibernate引用的,所以似乎它必须是调度程序使用该DLL的东西,而不是DLL本身。
我还验证了我在调度程序中的新工作可以访问DLL X中的内容。因此,并不是说nhibernate已经变得完全拙劣。
这是我到目前为止所做的。
我找不到任何其他地方出现在调度程序中配置/初始化dll X的引用,但显然我在尝试添加dll Y时遗漏了一些东西。