1

Linq to nHibernate で非常に奇妙な動作が発生しています。必要なすべてのオブジェクトを取得でき、where 句を追加できます。

しかし、非常に特殊なケースでは、次の例外が発生します。

タイプ x.Foo.Bar.Bars を読み込めませんでした。考えられる原因: アセンブリが読み込まれていないか、指定されていません。

x.Foo.Bar.Barswhere句のラムダ式の一部です。

Bars はオブジェクトのコレクションです。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>
4

1 に答える 1

0

access="Bars, Assembly"間違っているように見えます。クラスに実装されているアクセス戦略を定義したくありBarsませんか?

于 2013-02-14T12:51:44.407 に答える