我有一个返回INT的sql函数,当我尝试通过dapper调用它时,我总是得不到任何结果.
我这样称呼它:
var result = _connection.Query<int>("functionname",new {Parm = 123},commandType: CommandType.StoredProcedure);
解决方法
小巧玲珑应该支持它.您确定,您的功能是否在正确的数据库中?
这是一个快速的VB.NET示例.
Using conn = IDbConnectionFactory.CreateFromProvider("System.Data.sqlClient",CONNECTION_STRING) Dim sqlCommand As String = "SELECT dbo.fx_SumTwoValues(@valueOne,@valueTwo) As SumOfTwoValues" conn.Open() Dim result = (conn.Query(Of Integer)(sqlCommand,New With {.valueOne = 1,.valueTwo = 2})).First() Console.WriteLine(result.ToString) End Using
CREATE FUNCTION fx_SumTwoValues ( @Val1 int,@Val2 int ) RETURNS int AS BEGIN RETURN (@Val1+@Val2) END GO