0

我的问题涉及使用 Insight.Database 从 SQL Server 存储过程调用中获取输出参数值。如果我声明一个类,然后传入该类的一个实例,则输出参数会像宣传的那样返回。但这有一个缺点,就是让我声明的类远离它的使用位置。(而且我只需要每个类进行一个存储过程调用……)

如果我传入一个本地匿名对象,则可以在存储过程调用的正上方声明该对象,从而使代码更加清晰。但是,当我这样做时,输出参数不会在相应的成员中返回。(但传入的参数确实按预期传递。)换句话说,这些不起作用:

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 存储过程调用在方法中声明参数对象,但允许我取回输出参数值?谢谢。

4

0 回答 0