Показать сообщение отдельно
Старый 25.04.2012, 13:40   #25  
Ksani is offline
Ksani
Участник
Аватар для Ksani
MCBMSS
 
27 / 17 (1) ++
Регистрация: 31.08.2009
Адрес: Солнечная Страна
Цитата:
Сообщение от Taker1796 Посмотреть сообщение
И вот у меня как раз вопрос по N:N. Мне нужно получить список кредитных программ для определенной модели авто, которые есть.
Если Вы пишите, что у Вас связь N:N, то Вы должны использовать в LinkEntity вот ту третью таблицу, имя которой - это имя связи, о которой я писала выше. Не вижу этого в Вашем коде.
Или у Вас все таки не N:N?
Ели N:N, то я Вам переписала код

X++:
 ConditionExpression condition2 = new ConditionExpression();
            condition2.AttributeName = "new_name";// название модели
            condition2.Operator = ConditionOperator.Equal;
            condition2.Values = new string[] { "Mustang" };

            FilterExpression filter2 = new FilterExpression();
            filter2.FilterOperator = LogicalOperator.And;
            filter2.AddCondition(condition2);

            LinkEntity link2 = new LinkEntity();
            link2.LinkFromEntityName = EntityName.new_credit.ToString();
            link2.LinkFromAttributeName = "new_creditid"; //тип primarykey
            link2.LinkToAttributeName = "new_creditid";//тип primarykey
            link2.LinkToEntityName = ["Name of Relationship N:N"];
            
            LinkEntity link = new LinkEntity();
            link.LinkCriteria = filter2;
            link.LinkFromEntityName = ["Name of Relationship N:N"];
            link.LinkFromAttributeName = "new_modelid"; //тип primarykey
            link.LinkToAttributeName = "new_modelid";//тип primarykey
            link.LinkToEntityName = EntityName.new_model.ToString();

            link2.LinkEntities = new LinkEntity[]{link};
            QueryExpression querry = new QueryExpression();
            querry.EntityName = EntityName.new_credit.ToString();
            querry.ColumnSet = cols3;
            querry.LinkEntities = new LinkEntity[] { link2};
            RetrieveMultipleRequest retr = new RetrieveMultipleRequest();
            retr.Query = querry;
            RetrieveMultipleResponse retr2 = (RetrieveMultipleResponse)service.Execute(retr);

Последний раз редактировалось Ksani; 25.04.2012 в 14:00.