我可能还在想Linq2Sql模式,但我很难将其翻译成OrmLite。
我有一张顾客表和一张会员卡表。
我想获得一份客户名单,并为每位客户提供一张快递卡清单。
我的策略是选择客户,加入会员卡,按整个客户表分组,然后将卡映射到客户的单个财产列表。
事情没有按惯例命名,所以我不认为我可以利用隐式连接。
提前感谢您的帮助。
以下是我现在没有的代码:
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);
但是这给了我一个关于参数&#34;键的ArgumentNullException。&#34;
答案 0 :(得分:2)
从说明或您的示例代码中不清楚您的目标是什么,但您可以修复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;
}