我正在尝试使用 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)
{
}
}
在此示例中,期货查询返回具有正确行数的空对象数组列表,当我对其进行调试时,object[] 元组为空,但是对于列表查询,它按预期工作。