我有以下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();
}
答案 0 :(得分:4)
因为您正在调用函数,所以必须使用内联sql而不是存储过程来调用它。因此,不是调用存储过程,而是调用
select dbo.fn_myFunc(?) as result
您还可以创建一个仅包装对函数的调用的存储过程。
答案 1 :(得分:0)
如果您使用企业库数据访问应用程序块
,那就是这种方式