Criteria API を使用して子要素と子コレクションを読み込む方法。Google で見つけたほぼすべてのリンクを読みましたが、子要素が読み込まれません。
これが私のセットアップです
注文には OrderItems があり、それは私の DTO で指定されています
Orders の流暢なマッピング関数には、次の注目すべき行があります。
LazyLoad();
this.HasMany<OrderItems>(x => x.OrderItems).KeyColumns.Add(new[] { "OrderId"});
私のリポジトリ クラスでは、条件クラスからクエリを作成し、リストを取得します。
DetachedCriteria query = criteria.CreateCriteria();
IList<Orders> myOrders =
query.GetExecutableCriteria(UnitOfWork.CurrentSession).List<Orders>();
myOrders.OrderItems にアクセスしようとすると、それらは空です (確かに私の DB にあります)。マッピング関数で LazyLoad() を呼び出すと、これが有効になると思いました...
だから私はこのように熱心にロードしようとしました:
query.SetFetchMode("Orders.OrderItems", NHibernate.FetchMode.Eager)
しかし、これもうまくいきません。
どこが間違っていますか?