我怎樣才能找到(最好使用CRM Linq)有0個孩子的父實體。例如,我怎樣才能找到所有有0個聯繫人的賬戶。CRM Linq找到所有有0個孩子的父母
回答
如果你要使用的查詢表達式的路線,我會建議,然後將下面的代碼將是有益的
var entityAlias = "con";
var query = new QueryExpression
{
EntityName = "account",
ColumnSet = new ColumnSet(true),
Criteria =
{
FilterOperator = LogicalOperator.And,
Conditions =
{
new ConditionExpression(entityAlias, "contactid",ConditionOperator.Null)
}
}
LinkEntities =
{
new LinkEntity
{
EntityAlias = entityAlias,
LinkFromEntityName = "account",
LinkFromAttributeName = "accountid",
LinkToEntityName = "contact",
LinkToAttributeName = "parentcustomerid",
Columns = new ColumnSet("parentcustomerid", "contactid"),
JoinOperator = JoinOperator.LeftOuter,
}
},
};
var response = service.RetrieveMultiple(query);
var accounts = response.Entities;
在這代碼我沒有限制列,這會降低性能,你應該只返回所需的列。
如果有超過5000條記錄將要再回到你將需要使用尋呼和循環查詢,以找到所有實體的情況下, 這可以在這裏找到:
https://msdn.microsoft.com/en-us/library/gg327917.aspx
然而,如果你一定要使用LINQ,那麼你可以使用下面的代碼:
public static IEnumerable<Account> FindAccountsWithNoContacts()
{
var contactRelationship = new Relationship("contact_customer_accounts");
foreach(var account in XrmContext.AccountSet)
{
XrmContext.LoadProperty(contactRelationship);
if(!account.RelatedEntities.ContainsKey(contactRelationship)
yield return account;
}
}
我與LINQ代碼的問題是,所有的enities,帳戶和接觸兩個實體,將被加載到內存中。對於大型實體集,這可能導致OutOfMemoryException
,而查詢表達式路由將傳遞查詢到Dynamics服務器以執行;這應該使代碼的執行速度更快。
同意,查詢表達式是更高效的代碼。 – user3845056
你正在尋找的東西是左外連接。不幸的是,在使用LINQ的CRM中這是不可能的。但是,您可以使用查詢表達式或FetchXML來完成此操作。
這裏是一個鏈接,可以幫助你: https://community.dynamics.com/crm/b/gonzaloruiz/archive/2014/02/23/all-about-outer-join-queries-in-crm-2011-and-crm-2013
你是100%正確我掙扎着,因爲在Linq CRM中沒有左外連接。我希望有一個linq crm解決方案,但取回會做。 THanks – user3845056
'Left Outer Join'是找出孩子的唯一方法,沒有其他'Linq APIs'有幫助嗎? –
@ user3845056如果您對我的答案感到滿意,請將其標記爲接受的答案。謝謝。 –
- 1. LINQ - 所有父母
- 2. xpath選擇所有的父母和所有的孩子
- 3. SQL:查找父母都是我的所有孩子
- 4. 找到所有有父母的頁面
- 5. (Doctrine)從父母與孩子有n個關係的孩子加入父母
- 6. win32:孩子的父母的孩子找不到子窗口
- 7. Mongoid:找到所有的孩子多個父文件
- 8. Objectify - 一個給定的父母的所有孩子
- 9. 從父母到孩子的廣播事件在Vue.js中觸發所有父母的孩子
- 10. pugiXML找到孩子具有相同的父母看重
- 11. 寫查詢找到沒有孩子的父母
- 12. SQL查詢找到沒有孩子的父母
- 13. Rails 3找到沒有孩子的父母
- 14. 找到父母的第一個孩子它的父
- 15. NSPredicate檢索具有特定孩子的所有父母嗎? (IOS)
- 16. 在SQL中,如何選擇所有有孩子的父母?
- 17. 如何在SQL中刪除所有沒有孩子的父母?
- 18. 找到匹配的父母,其中所有的孩子也匹配
- 19. Rails 3通過其他父母找到孩子的祖父母
- 20. 找出只有那些沒有孩子ORDER BY父母和祖父母
- 21. 如何找到NHibernate的所有父母
- 22. 如果該孩子的父母有父母,該如何訪問孩子?
- 23. 查詢沒有孩子的父母
- 24. 指定的孩子已經有父母
- 25. Knockoutjs有關的foreach孩子父母
- 26. 指定的孩子已經有父母
- 27. 指定的孩子已經有父母
- 28. 沒有孩子的父母sql
- 29. 祖先 - 如何讓所有父母沒有孩子?
- 30. 獲取沒有一個孩子有某一類的所有父母
你所要求的是非常簡單的,但至少要提供一些代碼,一些模型,設計,檢查http://stackoverflow.com/help/mcve –
如果這很簡單,爲什麼我不能做到這一點? – user3845056
要了解這一點,發佈一些代碼並顯示你已經嘗試了什麼,你當然不能指望勺子餵食 –