Использовать последний вставленный идентификатор с Subsonic Active Record - PullRequest
1 голос
/ 21 августа 2011

Я использую SubSonic 3 (Active Record) в качестве ORM.Я должен вставить данные в 2 таблицы и использовать идентификатор вставленной строки в таблице 1 в качестве внешнего ключа в таблице 2. Каков наилучший способ сделать это.Я могу сначала сохранить данные в таблицу 1, а затем использовать их идентификатор для вставки в таблицу 2, но это будет 2 запроса, выполняемых последовательно.Не могу ли я сделать это в партии или транзакции?

Спасибо

1 Ответ

0 голосов
/ 04 января 2012

Краткий ответ: нет или не легко.

Более длинный ответ: если вы можете выразить то, что вы хотите сделать в одном запросе SQL, вы, вероятно, можете убедить SubSonic сделать это за вас. Тем не менее, один запрос не может быть вставлен в две разные таблицы, так что нет радости.

Да, вы можете группировать запросы, но вы не можете легко получить идентификатор из одного в другой. Вы, вероятно, лучше с хранимой процедурой.

Да, вы можете и должны включать их в транзакцию, но это не помогает.

...