0
다른 엔티티로 필터링하여 개체를 검색 할 때 다른 필터링 수준을 추가해야합니다. linkentity
을 에 연결하면 현재 링크 엔티티가 가능합니까? 그것을 쓰는 방법은 무엇입니까?여러 연결 요소에 따라 엔티티를 검색하는 방법은 무엇입니까?
이것은 현재 잘 작동하는 코드입니다.
QueryExpression query = new QueryExpression("entity1");
query.Criteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
query.ColumnSet = new ColumnSet("entity1Id");
LinkEntity Link = new LinkEntity("entity1", "entity2", "entity2Id", "entity2Id", JoinOperator.LeftOuter);
Link.LinkCriteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
Link.Columns = new ColumnSet("entity2Data");
Link.EntityAlias = "entity2";
query.LinkEntities.Add(Link);
결론 : 엔티티 3에 따라 엔티티 2에 필터링을 추가해야합니다.
업데이트 :이 코드 추가 :
QueryExpression query = new QueryExpression("entity1");
query.Criteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
query.ColumnSet = new ColumnSet(true);
LinkEntity portfolioLink = new LinkEntity("entity1", "entity2", "**entity2dI**", "entity2Id", JoinOperator.LeftOuter);
portfolioLink.LinkCriteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
query.LinkEntities.Add(portfolioLink);
LinkEntity portfolioLink2 = new LinkEntity("entity3", "entity2", "entity2Id", "entity2Id", JoinOperator.LeftOuter);
portfolioLink2.LinkCriteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
query.LinkEntities.Add(portfolioLink2);
EntityCollection characterizationeedsCollection = Service.RetrieveMultiple(query);
내가 entity2Id 필드를 인식하지 못하는 entity1 예외가, ** entity1 필드의 이름이 불행하게도 ** 조금 다르다을하지만 전 괜찮 았는데 세 번째 엔티티 추가
엔티티 1과 엔티티 2의 연결 필드 이름이 엔티티 2의 연결 필드와 같지 않으므로 오류가 발생합니다. 엔티티 3. 연결된 모든 엔티티에서 모든 연결 필드가 동일해야합니다. 맞습니까? – Damkulul
@Damkulul 어떻게 diff 엔티티의 FK에 대해 동일한 스키마 이름을 사용할 수 있습니까? –
내 코드를 추가했는데 예외는 entity1이 entity3 필드를 인식하지 못한다는 것입니다 ... 내 코드는 괜찮습니까? – Damkulul