Insight.database и выходные параметры хранимой процедуры

Мой вопрос касается возврата значений выходных параметров из вызова хранимой процедуры SQL Server с Insight.Database. Если я объявляю класс, а затем передаю экземпляр этого класса, выходные параметры возвращаются, как объявлено. Но у этого недостатка было то, что я объявлял класс далеко от того места, где он используется. (И мне нужен каждый класс только для одного вызова хранимой процедуры…)

Если я передаю локальный анонимный объект, то этот объект может быть объявлен прямо над вызовом хранимой процедуры, что делает код намного понятнее. Однако, когда я делаю это, выходные параметры не возвращаются в соответствующих элементах. (Но входящие параметры передаются, как и ожидалось.) Другими словами, они не работают:

var transDetails = new
{
    Account_num = accountNumber     // in parm
    Trans_amount = 0            // out parm
};
Db.Execute("get_details", transDetails);    // Does not work
Db.Query("get_details", transDetails);  // Does not work
Db.Execute("get_details", transDetails, outputParameters: transDetails);    // Does not work either
// transDetails.Trans_amount is unchanged.

Есть ли подход, который объявляет объект параметра в методе с вызовом хранимой процедуры Insight.Database, и все же позволяет мне возвращать значения выходных параметров? Благодарю.

0 ответов

Другие вопросы по тегам