我有很多艱難地試圖獲得與CRM 2011工作的LINQ查詢。每當我有三個或更多的連接表(似乎不關心哪個CRM表),並且我嘗試添加一個WHERE子句(在我過濾的表上無關緊要)。如果我刪除WHERE子句,查詢運行良好,我可以遍歷結果集。我也可以離開WHERE子句,但刪除第三個連接,並且它也起作用。我已經用了很多CRM實體,並且得到了同樣的錯誤:「'Join'操作的結果選擇器必須返回兩個屬性的匿名類型。」它似乎有一個限制,如果我想要使用單個WHERE子句,我僅限於只連接兩個表。客戶關係管理2011 LINQ查詢具有多個內部聯接和單個WHERE子句(VB.NET)
我在發佈LINQ查詢時使用早期綁定CRM上下文生成的代碼方法。這是從CRM SDK示例中提取的代碼,除了我添加了WHERE子句。我無法找到如何做到這一點的例子。
Dim MyVar = From a In svcContext.AccountSet _
Join c In svcContext.ContactSet On a.PrimaryContactId.Id Equals c.ContactId _
Join l In svcContext.LeadSet On a.OriginatingLeadId.Id Equals l.LeadId _
Where a.Name.Contains("c") _
Select New With {c.FullName}
For Each MyItem In MyVar
Debug.Print(MyItem.FullName)
Next
感謝您的任何幫助!
你爲什麼加入svcContext.LeadSet,如果你不打算使用它呢? –