Показать сообщение отдельно
Старый 20.12.2011, 22:59   #12  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Вообще я бы сказал, что задача слияния слишком нетривиальная для новичка! Не уверен, что сам бы за такое взялся, если бы решить задачу нужно было в общем виде.

Идея ясна - получить метаданные по связям объекта, пройтись запросами по каждой связи, чтобы получить идентификаторы всех связанных объектов, потом вызвать запрос на расторжение всех этих связей и создание новых с нужной нам записью... Причем все это желательно сделать в одной транзакции, чтобы можно было откатиться назад в случае возникновения какой-либо ошибки. Я думаю кого угодно по пути посетит мысль: "на кой черт это надо?!". Системный механизм, я думаю, мухлюет и использует для этого SQL.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional