我想知道 ORMLite 是否有像 dapper 这样的 QueryMultiple 解决方案。
我的用例是获取分页结果。
return new {
Posts = conn.Select<Post>(q => q.Where(p => p.Tag == "Chris").Limit(20, 10))
TotalPosts = conn.Count<Post>(q.Where(p => p.Tag == "Chris"))
};
我还有一些其他情况,除了主查询之外,我还在计算其他一些统计数据,并且我很想避免多次往返。
(可能无关,但我使用的是 PostgreSQL)
最佳答案
你可能可以做这样的事情:
var bothThings = db.Exec(cmd => {
cmd.CommandText = @"
select * from TableA
select * from TableB";
var both = new BothAandB();
using (var reader = cmd.ExecuteReader())
{
both.a = reader.ConvertToList<A>();
reader.NextResult();
both.b = reader.ConvertToList<B>();
}
return both;
});
可能可以将其包装在扩展方法中,但没有想到任何聪明的方法。
关于Servicestack ORMLite 查询多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16465206/