これは非常に単純であることがわかります (それを実現する魔法を知っている場合)。
ドキュメンテーションと、 Dapper がカミソリに「含まれている」ことを示す誤解を招くように見える投稿に基づいて、Dapper が「組み込み」であることが暗示されているとき、それは本質的に含まれているライブラリの一部であると想定しました。
笑ってください。しかし、知識のない私たちのために、Dapper 拡張機能を表示させる方法の概要を説明します。だからここに魔法があります。
パッケージ マネージャー コンソールを使用して、次を実行します。
Install-Package ServiceStack
Install-Package Dapper
次の using ステートメント (C#) をサービスに追加します。
using ServiceStack.OrmLite;
using Dapper;
これで、Db オブジェクトを活用すると、すべての OrmLite AND Dapper メソッドがそこに表示されます。
出力パラメーターを取得するには、次のように簡単になりました。
var p = new DynamicParameters();
p.Add("@param1", request.stuff1);
p.Add("@param2", request.stuff2);
p.Add("@param3", dbType: DbType.Int32, direction: ParameterDirection.Output);
Db.Execute("schema.sp_stored_proc_name", p, commandType: CommandType.StoredProcedure);
response.outputStuff = p.Get<int>("@param3");
MARS を管理するには (2 つの結果セットと出力パラメーターを返す SP があると仮定します):
p.Add("@param1", request.stuff1);
p.Add("@param2", request.stuff2);
p.Add("@param3", dbType: DbType.Int32, direction: ParameterDirection.Output);
var mars = Db.QueryMultiple("schema.sp_stored_proc_name", p, commandType: CommandType.StoredProcedure);
//firstSet contains the first result set
var firstSet = mars.Read().ToList();
//secondSet contains the second result set
var secondSet = mars.Read().ToList();
response.outputStuff = p.Get<int>("param3");
魔法を知ったら、それは美しくシンプルです:)
より複雑な例を次に示します。
うまくいけば、これは他の誰かを助け、時間を少し節約します.