0
如何使用組連接方法語法?
我可以做一組參加像這樣的查詢語法:Dynamics CRM 2011 Linq Group加入方法語法
var contAndAcc = from contact in linq.ContactSet
join account in linq.AccountSet
on contact.ParentCustomerId.Id equals account.AccountId
into accountGroup
from account in accountGroup.DefaultIfEmpty()
select new{contact = contact, account = account};
的編譯器將查詢語法方法的語法,所以它必須能夠寫入方法的語法上面。
這些不工作:
var contAndAcc = linq.ContactSet.GroupJoin(
linq.AccountSet, // collection to join to
contact => contact.ParentCustomerId.Id,
account => account.AccountId,
(contact, account) => contact);
var contAndAcc = linq.ContactSet.GroupJoin(
linq.AccountSet,
contact => contact.ParentCustomerId.Id,
account => account.AccountId,
(contact, account) => contact)
.DefaultIfEmpty()
.Select(contact=>contact);
var contAndAcc = linq.ContactSet.GroupJoin(
linq.AccountSet,
contact => contact.ParentCustomerId.Id,
account => account.AccountId,
(contact, account) => contact)
.DefaultIfEmpty()
.SelectMany((contact) => contact);
無論我怎麼努力,我得到這個消息:
的「羣組加入」操作必須跟一個「的SelectMany」
操作,其中集合選擇器調用'DefaultIfEmpty'方法。
我也很想使用IEqualityComparer;那可能嗎?