私はあなたが.ToFuture <>()拡張メソッドを呼び出すことによって将来的にNHibernateクエリにLinqを実行できることを知っています。しかし、私はマッピングされたエンティティを読み込むのではなく、データをDTOに直接ロードします。Linq to NHibernate + transformations + future
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でこれを行うことができると知っています。私はちょうどLinqをNHによく似ています。
これはおそらくそれです。私はNHibernate 3.0を使用しています(一般的なライブラリの制限:-(おそらくここでの問題ですが、私は簡単に3.2でテストすることはできません。 – Koen