Короткое замыкание в хранимой процедуре, созданной SMO - PullRequest
0 голосов
/ 11 апреля 2019

Из-за огромной и ненавистной базы данных, которую я не могу рационализировать, я вынужден создать генератор C # Datalayer для своего приложения.Я почти закончил, используя T4 для генерации классов Model и репозиториев Insight.Database, но мне нужно было создать свои определяемые пользователем типы таблиц и хранимые процедуры с помощью объектов управления Sql.

Что меня интересует, так это то,можно использовать параметр короткого замыкания при создании через SMO?Я хочу воспроизвести что-то вроде этого:

CREATE PROCEDURE [dbo].[cip_GetLicenses]
    @fldIndex int = null
AS
SELECT [fldIndex]
      ,[fldLicenceData]
  FROM [dbo].[tblLicences]
  WHERE (@fldIndex is NULL OR (fldIndex = @fldIndex))

Я могу относительно легко построить тело sproc с помощью строителя строк и некоторой итерации столбца, но создание параметра выполняется отдельно.

Тип StoredProcedureParameter на самом деле имеет свойство DefaultValue, но это строка, и, к сожалению, установка «= null» просто вызывает исключения во время выполнения.

Кто-нибудь может посоветовать?

...