В рамках моей бизнес-логики мне нужно получить более 2000 строк из таблицы sql. Пропустите эти строки через некоторую сложную, процедурную, бизнес-логику (да, она должна быть процедурной, и все методы бегущей суммы, которые я исследую до сих пор, не сокращают ее для эффективности). Затем я должен обновить базу данных и вернуть результаты.
Использование SQLDataReader - данные передаются из SQL в мою логику - что работает просто отлично.
Логика перебирает данные и вносит необходимые изменения.
Теперь, чтобы сохранить изменения - я действительно не хочу отправлять результат, заполняя параметры в операторе UPDATE. Если бы у меня были результаты в SQL, я бы соединил временную таблицу с базовой и выполнил все обновления в одном операторе TSQL Update. По моему "таблица" находится в SQL CLR, а базовая таблица закончилась на стороне SQL.
Я прочитал методы сериализации результатов в XML и перенес все это с помощью переменной varchar, но я использую SQL Server 2008 R2.
Я просмотрел UDT и параметры табличных значений, но вы не можете использовать их для передачи данных между SQL CLR и SQL.
Если предполагается, что SQL CLR будет использоваться со сложной бизнес-логикой, не существует ли наилучшего способа отправки данных? Я еще не нашел примера, который напрямую касается или говорит об этой проблеме.