Показать сообщение отдельно
Старый 17.06.2016, 10:53   #3  
magicandy is offline
magicandy
Участник
 
111 / 12 (1) ++
Регистрация: 15.07.2014
Цитата:
Сообщение от a33ik Посмотреть сообщение
Если честно, то элегантностью ваше решение уж точно не отличается (извините за критику).
Что вы! я ж для критики (конструктивной) вопрос и задал !

Цитата:
Если по вашей выборки у контакта будет по 3 связанных записи, то результат составит 27 строк, что как по мне далеко не является идеалом.
Всё верно. Но тут линк (Distinct) вполне выручает. Хотя предположу, что это будет не самое быстрое решение.

Цитата:
Если вам необходимо получить связанные записи по одному контакту, то можно воспользоваться следующим трюком - https://community.dynamics.com/crm/b...etrieve-method
На сколько я понял это решение, тут возвращают только записи по одной связи (все контакты аккаунта). Я практически не использовал в практике QueryExpression. На мой взгляд Фетч более удобен в плане построения запросов. Но тут на вкус и цвет. Или в один запрос QueryExpression можно упаковать несколько целевых связей?
Я изначально ставил цель получить одним запросом к серверу все результаты, по всем связям.

Цитата:
Если этот вариант - не вариант я бы для экономии времени просто разрезал ваши запросы на 3 части (без страшных джоинов) и упаковал бы всё в пакет - https://msdn.microsoft.com/en-us/lib...or=-2147217396
А вот это очень интересно и ново, никогда не пробовал. Спасибо за ссылочку. Буду пробовать. А как оно по скорости, если сравнить со всеми вариантами выше, включая мой?