Краткая версия:
У меня есть сеточное представление, привязанное к источнику данных, который имеет команду SelectCommand с левым соединением, потому что FK может быть нулевым. При обновлении я хочу создать запись в таблице FK, если FK равен нулю, а затем обновить родительскую таблицу с новым идентификатором записей. Возможно ли это сделать только с SqlDataSources?
Подробная версия:
У меня есть две таблицы: компания и адрес. Столбец Company.AddressId может быть пустым. На моей странице ascx я использую SqlDataSource для выбора левого объединения компании и адреса и GridView для отображения результатов. Благодаря тому, что мои UpdateCommand и DeleteCommand из SqlDataSource выполняют две инструкции, разделенные точкой с запятой, я могу использовать функциональность GridView Edit и Delete для одновременного обновления обеих таблиц.
Проблема в том, что Company.AddressId равен нулю. Мне нужно, чтобы источник данных создал запись в таблице адресов, а затем обновил таблицу Company новым Address.ID, а затем продолжил обновление как обычно. Я хотел бы сделать это только с источниками данных, если это возможно для согласованности / простоты ради. Возможно ли, чтобы мой источник данных сделал это, или, возможно, добавил второй источник данных на страницу, чтобы справиться с некоторыми из этих проблем?
Как только у меня будет эта работа, я, вероятно, смогу выяснить, как заставить ее работать и с InsertCommand, но если вы находитесь в движении и у вас есть ответ, как сделать так, чтобы эта муха также не стеснялась предоставить ее. *
Спасибо.