1

我有兩個具有N:N關係的自定義實體。 1)會員資格,2)要約如何檢索與第一個實體具有n:n關係的第二個實體在ms crm插件中的多個記錄(包含所有字段)?

我已使用會員資格和優惠表格上的子網格顯示相關記錄。

我正在寫一個插件函數,其中我有一個成員資格實體記錄ID作爲輸入,我想獲得所有相關記錄的實體作爲輸出。 我試過下面的代碼,但我無法獲得相關報價實體記錄。

使用實體= 「new_membership」,ENTITY2 = 「new_offer」,relationshipEntityName = 「new_new_membership_new_offer」

public List<new_offer> getAllOffersFromMembership(string entity1,string entity2, string relationshipEntityName, string Id) 
{ 
    QueryExpression query = new QueryExpression(entity1);  
    query.ColumnSet = new ColumnSet(true);  

    LinkEntity linkEntity1 = new LinkEntity(entity1, relationshipEntityName, "new_membershipid","new_membershipid", JoinOperator.Inner);  
    LinkEntity linkEntity2 = new LinkEntity(relationshipEntityName, entity2, "new_offerid","new_offerid", JoinOperator.Inner); 
    linkEntity1.LinkEntities.Add(linkEntity2); 
    query.LinkEntities.Add(linkEntity1);   

    linkEntity2.LinkCriteria = new FilterExpression();  
    linkEntity2.LinkCriteria.AddCondition(new ConditionExpression(「new_membershipid」, ConditionOperator.Equal, Id)); 

    EntityCollection collRecords = service.RetrieveMultiple(query); 

    //To Do : Get offer entity records 
} 

正如我在MS CRM是新的,可能是我做了一些愚蠢的錯誤。

在此先感謝。

+0

entity1,entity2和relationshipEntityName的邏輯名是什麼? – dynamicallyCRM

+0

entity1 = new_membership,entity2 = new_offer,relationshipEntityName =「new_new_membership_new_offer」 – Sagar

回答

2

反轉您的查詢以獲取相關記錄。

var query = new QueryExpression("new_offer"){ColumnSet = new ColumnSet(true)}; 
var offerLinkEntity = new LinkEntity("new_offer", "new_new_membership_new_offer","new_offerid", "new_offerid", JoinOperator.Inner); 

var memebershipLinkEntity = new LinkEntity("new_new_membership_new_offer", "new_membership","new_membershipid","new_membershipid", JoinOperator.Inner) {LinkCriteria = new FilterExpression()}; 

memebershipLinkEntity.LinkCriteria.AddCondition(new ConditionExpression("new_membershipid",ConditionOperator.Equal, mem.Id)); 

offerLinkEntity.LinkEntities.Add(memebershipLinkEntity); 
query.LinkEntities.Add(offerLinkEntity); 

var response = service.RetrieveMultiple(query); 
var offers = response.Entities ?? Enumerable.Empty<new_offer>(); 
+0

我從實體生成包裝類。所以,我有new_offer類。我想獲得new_offer類的對象列表。你能否更新你的答案如何從響應中獲得new_offer對象。 ? – Sagar

+0

更新了查詢。 – dynamicallyCRM

相關問題