我刚刚被这个问题困住了一个小时,我最终烦恼地发现了这个问题.
情况
我有一个用户将字符串作为主键的表,该表具有各种多对一和多对多的关系.
当从表中搜索多个项目时,所有关系都被带回.但是每当我试图通过主键(字符串)获取对象时,它都没有带回任何关系,它们总是设置为0.
部分解决方案
所以我查看了我的日志,看看SQL正在做什么,并返回正确的结果.所以我以各种随机的方式尝试了各种各样的东西,最终得出结论.传递给get方法的字符串的情况与数据库中的情况完全不同,所以当它试图将关系项与主实体匹配时它什么都没找到(或者至少NHIbernate不是因为正如我上面所述,SQL实际上返回了正确的结果)
真正的解决方案
还有其他人遇到过这个吗?如果是这样,在将SQL结果与实体匹配时,如何告诉NHibernate忽略大小写?这很愚蠢,因为它之前的工作非常好,突然间它开始关注字符串的情况.