Показать сообщение отдельно
Старый 08.10.2013, 23:43   #25  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Logger Посмотреть сообщение
интересно, зачем в 2012-й Аксапте до сих пор держатся за индексы по recId когда можно теснее интегрироваться с SQL Server и использовать разные специализированные примочки БД.
Потому что нельзя вот так взять и в рамках одной версии переделать все до основания А еще потому что из-за нормализации данных и фиговой тучи связей между таблицами по FK (RecId) стало очень непросто подчас корректно создавать/обновлять/удалять связанные записи. Раньше можно было из номерной серии выделить заранее все идентификаторы и неспешно их прописывать, куда надо, в произвольном порядке, а теперь нужно соблюдать последовательность, поскольку PK (RecId) выделяется только на вставке. Чтобы упростить работу, в частности, был сделан UnitOfWork:
Цитата:
The UnitOfWork class automatically propagates the primary key value to the corresponding foreign key field, when the row with the foreign key field is inserted. The call pattern for inserts is first to add one record at a time to your constructed UnitOfWork object. After all the inserts have been added, you call the saveChanges method to persist the inserts to the database. The pattern is similar for updates and deletes. You can add inserts, updates, and deletes in succession, in any sequence, and then call the saveChanges method.
Проделать такое в случае, когда вместо выделяемого AOS'ом RecId будут выделяемые СУБД identity, будет м... несколько труднее.
За это сообщение автора поблагодарили: Logger (3).