Nhibernate NHibrenate无法加载类型

Nhibernate NHibrenate无法加载类型,nhibernate,linq-to-nhibernate,Nhibernate,Linq To Nhibernate,我在Linq和nHibernate之间有一些非常奇怪的行为。 我可以检索我想要的所有对象,并且可以添加where子句 但在一个非常特殊的情况下,我得到以下例外: 无法加载类型x.Foo.Bar.Bar。可能原因:组件已损坏 未加载或未指定 x.Foo.Bar.Bar是where子句中lambda表达式的一部分 query.Where(x => x.Foo.Bar.Bars.Any(b => b.Name == "BarName")); 其中,条形图是对象的集合。当我在没有wher

我在Linq和nHibernate之间有一些非常奇怪的行为。 我可以检索我想要的所有对象,并且可以添加where子句

但在一个非常特殊的情况下,我得到以下例外:

无法加载类型x.Foo.Bar.Bar。可能原因:组件已损坏 未加载或未指定

x.Foo.Bar.Bar
是where子句中lambda表达式的一部分

 query.Where(x => x.Foo.Bar.Bars.Any(b => b.Name == "BarName"));
其中,条形图是对象的集合。当我在没有where子句的情况下进行查询时,集合得到了完美的填充

 query.Where(x => x.Foo.Bar.Bars.Any(b => b.Name == "BarName"));
堆栈跟踪如下所示:

位于NHibernate.Util.ReflectHelper.ClassForFullName(字符串classFullName)

是的,我的映射文件是嵌入式资源

部分映射:

<bag name ="Bars" inverse="true" lazy="false"
     cascade="none" optimistic-lock="false"
     access="Framework.NHibernate.Properties.EntityCollectionAccessor, Assembly">
  <key column="BagId" />
  <one-to-many class="Bar"/>
</bag>


access=“杆,组件”
看起来有问题。您不想定义在类
栏中实现的访问策略,是吗?

将什么作为
类全名
传递给该NHibernate方法?您使用的是哪个版本的NHibernate?NHibernate版本:3.1.0.4000。我认为classFullName是x.Foo.Bar.Bar。在过去的几个版本中,Linq提供程序中有许多修复程序。如果可以解决问题,您可以尝试3.3.3.CR1(甚至是主分支当前的4.0.0.Alpha1)。更新为3.3.1.4000,现在可以使用。但是如果有其他的解决办法,我会保留这个问题。