1

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

自上次发布以来,我没有对这个项目进行任何代码更改。我进入代码查看它的原因是因为用户报告使用该库的网页出现错误。我还根据(NHibernate - 随机出现的“无法找到持久性”)检查了提供程序的急切加载,但我已经急切地加载了。

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

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

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

更新 我已经用桌面应用程序测试了同样的代码,它工作得很好。在我看来,问题一定出在 NHibernate 和 Web 应用程序上。有没有人对此有任何想法?

4

1 回答 1

0

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

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

希望这可以帮助其他可能犯过同样错误的人。

于 2013-10-21T20:26:30.260 回答