Я знаю, что могу определить значения по умолчанию для процедур CLR при создании процедуры в базе данных, например:
CREATE PROCEDURE [dbo].[ShredXml] (
@InputXml [xml],
@AttributeElementHandling [tinyint] = 0,
@ConversionHandling [tinyint] = 0,
@RootElementName [nvarchar](255) = null
)
AS EXTERNAL NAME [ClrXmlShredder].[ClrXmlShredder].[ShredXml]
Я не могу понять, есть ли способ убедить Visual Studio сделать это автоматически при использовании опции «Развернуть проект» ...
Есть ли атрибут, который можно установить в аргументе, чтобы сообщить Visual Studio, каким должно быть значение по умолчанию для этого аргумента при создании процедуры в базе данных?
Обновление: я пытался установить обнуляемость "SqlFacet", которая, казалось, не имела никакого эффекта (что, я думаю, имеет смысл - хранимые в протоколе параметры afaik всегда обнуляются?)
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ShredXml(SqlXml InputXml,
[SqlFacet(IsNullable = true)]SqlByte AttributeElementHandling,
[SqlFacet(IsNullable = true)]SqlByte ConversionHandling,
[SqlFacet(MaxSize = 255, IsNullable = true)]string RootElementName
)
{
}