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;
}
可能我还在考虑 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;
}