Bry*_*lar 5 nhibernate resulttransformer
我正在尝试使用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)
{
}
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,期货查询返回一个具有正确行数的空对象数组列表,当我调试它时,object []元组为空,但是对于列表查询,它按预期工作.
您可能希望尝试这样的事情:
public class MailEvent
{
public virtual int Id{get;set;}
public virtual string Message{get;set;}
}
public IEnumerable<MailEvent> GetMailEvents(ISession session)
{
return session.CreateSQLQuery("select Id, Message from MailEvent")
.SetResultTransformer(Transformers.AliasToBean<MailEvent>())
.Future<MailEvent>();
}
Run Code Online (Sandbox Code Playgroud)
假设您知道目标格式,这应该将任意 SQL 数据转换为您需要的数据
| 归档时间: |
|
| 查看次数: |
1693 次 |
| 最近记录: |