Dapper可以從SQL函數返回值嗎?

dapper

我有一個返回INT的SQL函數,當我嘗試通過dapper調用它時,我總是得不到任何結果。

我這樣稱呼它:

var result = _connection.Query<int>("functionname", new {Parm = 123}, commandType: CommandType.StoredProcedure);

dapper是否支持sql函數?

一般承認的答案

小巧玲瓏應該支持它。您確定,您的功能是否在正確的數據庫中?

這是一個快速的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

熱門答案

可以用這個:

result = _connection.Query<dynamic>("SELECT dbo.functionName(@Parm)", new {Parm = 123},commandType: CommandType.Text);


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因