无法找到实体的持久性,没有代码更改

时间:2013-10-18 23:42:30

标签: vb.net nhibernate fluent-nhibernate

我突然收到错误:“无法找到名为'MyLib.Project'的实体的持久性。”

自上次发布以来,我没有对此项目进行任何代码更改。我进入代码查看它的原因是因为用户报告使用此库的网页出错。我也按照NHibernate - Random occurrences of "Unable to locate persister"检查了提供者的急切加载,但我已经急切地加载了。

此外,我甚至将数据提供程序配置更改为:

.Mappings(Function(x) x.FluentMappings.AddFromAssemblyOf(Of Project)())

我逐步完成了代码,实际上看到它找到了Project映射并逐步完成了它。构建提供程序时没有抛出任何异常,但是当我尝试从数据库中获取项目时,Web应用程序仍然失败。

更新 我已经使用桌面应用程序测试了这个相同的精确代码,它工作得很好。在我看来,问题必须是NHibernate和Web应用程序。有没有人对此有任何想法?

1 个答案:

答案 0 :(得分:0)

当然,答案是我犯了一个错误。

我在同一个程序中使用了两个会话工厂,我将一个会话从错误的工厂传递给我的一个函数。所以错误是正确的,因为它传递的会话不知道Project类型。我最终通过查看我正在查询的会话的Connection属性找到了这个。

希望这有助于其他可能犯同样错误的人。