Из-за огромной и ненавистной базы данных, которую я не могу рационализировать, я вынужден создать генератор 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» просто вызывает исключения во время выполнения.
Кто-нибудь может посоветовать?