我有一個實體模型與發票,AffiliateCommissions和AffiliateCommissionPayments。Linq到實體左外部加入
發票到AffiliateCommission是一對多,AffiliateCommission到AffiliateCommissionPayment也是一對多
我試圖做一個查詢,將返回有一個委員會,但不一定有相關commissionPayment所有發票。我想用佣金顯示發票是否有佣金付款。
查詢看起來像:
using (var context = new MyEntitities())
{
var invoices = from i in context.Invoices
from ac in i.AffiliateCommissions
join acp in context.AffiliateCommissionPayments on ac.affiliateCommissionID equals acp.AffiliateCommission.affiliateCommissionID
where ac.Affiliate.affiliateID == affiliateID
select new
{
companyName = i.User.companyName,
userName = i.User.fullName,
email = i.User.emailAddress,
invoiceEndDate = i.invoicedUntilDate,
invoiceNumber = i.invoiceNumber,
invoiceAmount = i.netAmount,
commissionAmount = ac.amount,
datePaid = acp.paymentDate,
checkNumber = acp.checkNumber
};
return invoices.ToList();
}
這上面的查詢只返回與AffiliateCommissionPayment項目。
謝謝,我使用的EF2和DefaultIfEmpty不支持。 – radman 2010-03-16 13:21:48