ServiceStack OrmLite - 是否可以进行分组并引用非分组字段列表?

ServiceStack OrmLite - Is it possible to do a group by and have a reference to a list of the non-grouped fields?

可能我还在考虑 Linq2Sql 模式,但我很难将其转换为 OrmLite。

我有一个客户 table 和一张会员卡 table。

我想获取客户列表,并为每个客户提供一张 express 卡列表。

我的策略是 select 客户,加入会员卡,按整个客户 table 分组,然后将卡映射到单个 属性 客户作为列表。

事物没有按照惯例命名,所以我认为我无法利用隐式连接。

在此先感谢您的帮助。

这是我现在无法使用的代码:

query = query.Join<Customer, LoyaltyCard>((c, lc) => c.CustomerId == lc.CustomerId)
    .GroupBy(x => x).Select((c) => new { c, Cards = ?? What goes here? });

编辑:我想可能是这个方法:

var q = db.From<Customer>().Take(1);
q = q.Join<Customer, LoyaltyCard>().Select();
var customer = db.SelectMulti<Customer,LoyaltyCard>(q);

但这在参数 "key."

上给我一个 ArgumentNullException

从描述或您的示例代码中不清楚您想要什么,但您可以通过以下方式修复您的 SelectMulti Query

var q = db.From<Customer>()
    .Join<Customer, LoyaltyCard>();

var results = db.SelectMulti<Customer,LoyaltyCard>(q);
foreach (var tuple in results)
{
    Customer customer = tuple.Item1;
    LoyaltyCard custCard = tuple.Item2;
}