NHibernate无法加载类型

时间:2013-02-14 12:01:58

标签: nhibernate linq-to-nhibernate

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

但在一个非常具体的案例中,我得到以下例外:

  

无法加载x.Foo.Bar.Bars类型。可能的原因:组装是   未加载或未加载。

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

其中Bars是对象的集合。当我在没有where子句的情况下进行查询时,该集合将被完美填充。

 query.Where(x => x.Foo.Bar.Bars.Any(b => b.Name == "BarName"));

堆栈跟踪是这样的:

  

at NHibernate.Util.ReflectHelper.ClassForFullName(String 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>

1 个答案:

答案 0 :(得分:0)

access="Bars, Assembly"看起来不对劲。您不希望定义在类Bars中实现的访问策略,是吗?