При использовании Subsonic 3.0.0.3 возможно ли передать нулевое значение параметру хранимых процедур? Если да, то какой путь уместен?
Детали
Скажем, у меня есть sp, где один из параметров имеет значение по умолчанию, например:
CREATE Procedure Test_SPWithNullParams( @p1 int=null, @p2 varchar(50) )
AS
SELECT 1 as Stuff
Тогда в моем коде я хочу сделать что-то вроде:
var db = new Sandbox.DB();
StoredProcedure sproc = db.Test_SPWithNullParams( null , "test");
//alternately --> db.Test_SPWithNullParams("test");
Способ, которым соответствующая функция сгенерирована в StoredProcedures.cs, однако параметр для @ p1 не обнуляется. Так каковы мои альтернативы? Я сталкивался с этой статьей (http://brianmrush.wordpress.com/2010/01/19/subsonic-t4-templates-stored-procedures-nullable-parameters), но это кажется громоздкой работой, которая эффективно разветвляет базу кода.
В качестве альтернативы я думал о ручном переопределении объекта команды. Что-то вроде:
int dummyInt = -1;
StoredProcedure sproc = db.Test_SPWithNullParams( dummyInt , "test");
sproc.Command.Parameters[0].ParameterValue = DBNull.Value;
Мысли?