nhibernate で任意の SQL データをクエリしようとしています。Futures 機能を使用しない限り問題なく動作しますが、Futures を使用すると、データが ResultSetTransformer に渡されません。
コード例:
public class TestResultSetTransformer : IResultTransformer
{
public object TransformTuple(object[] tuple, string[] aliases)
{
return tuple;
}
public IList TransformList(IList collection)
{
return collection;
}
}
public void Foo(ISession sess){
var x = sess.CreateSQLQuery("select * from MailEvent").SetResultTransformer(new TestResultSetTransformer()).Future<object[]>();
var xprime = sess.CreateSQLQuery("select * from MailEvent").SetResultTransformer(new TestResultSetTransformer()).List<object[]>();
foreach(var y in x)
{
}
}
この例では、先物クエリは正しい行数を持つ空のオブジェクト配列のリストを返します。デバッグすると、オブジェクト [] タプルは空ですが、リスト クエリでは期待どおりに動作します。