使用c#,如何执行tsql用户函数并获得其返回值

本文关键字:函数 用户 返回值 tsql 何执行 执行 使用 | 更新日期: 2023-09-27 18:12:13

我有以下tsql函数:

ALTER FUNCTION [dbo].[fn_MyFunc] (
        @AccountId varchar(50)
)
returns bit
as 
begin 
    declare @IsEligible bit
        --some calculation
    return @IsEligible

end 

使用c#,这是调用这个tsql函数并获得其返回值的方式吗?

     Database database = DatabaseFactory.CreateDatabase("DB");
     using (DbCommand dbCommand = database.GetStoredProcCommand("fn_MyFunc"))
                    {
                        database.AddInParameter(dbCommand, "@AccountId", DbType.String, "1234");
 bool returnedVAlue = (bool)dbCommand.ExecuteScalar();
}

使用c#,如何执行tsql用户函数并获得其返回值

因为要调用一个函数,所以必须使用内联sql而不是存储过程来调用它。所以不是调用存储过程而是调用

select dbo.fn_myFunc(?) as result

还可以创建一个存储过程,它只封装对函数的调用。

如果你正在使用企业图书馆数据访问应用程序块