DapperはSQL関数から値を返すことができますか?

dapper

質問

私はINTを返すSQL関数を持っています。私はそれをdapperで呼び出そうとすると、結果は返されません。

私はそれをこのように呼んでいる:

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

dapperはSQL関数をサポートしていますか?

受け入れられた回答

Dapperはそれをサポートする必要があります。あなたの機能は正しいデータベースにありますか?

ここには、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は合法ですか? はい、理由を学ぶ