0

.ToFuture <>()拡張メソッドを呼び出すことで、LinqtoNHibernateクエリをfutureとして実行できることを知っています。ただし、マップされたエンティティをロードするのではなく、データをDTOに直接ロードしています。したがって、次のようなものが得られます。

var results = (from e in session.Query<Entity>()
               where e.Reference.Id == someId
               orderby e.Name
               select new Dto
               {
                   Id = e.Id,
                   Name = e.Name,
                   // ...
               }).ToFuture<Dto>();

これは私が望むようには機能しません(私はあえて期待したと言います)。エラーが発生しました。The value "System.Object[]" is not of type "Entity" and cannot be used in this generic collection.削除.ToFuture()しても機能しますが、クエリはバッチ処理されません。

QueryOver APIを使用してこれを実行できることはわかっています。コードが非常にクリーンなため、LinqtoNHの方が好きです。

4

1 に答える 1

0

バグのようです。単純な複製テストケースを作成できる場合は、https://nhibernate.jira.com/で新しい問題を入力してください。

このリリースで修正された同様の欠陥がすでに存在するため、その前に、最新バージョン(当時は3.2)を使用しているかどうかを確認してください。

于 2011-11-09T14:20:00.510 に答える