サーチ…


備考

Dapperとは?

Dapperは、 IDbConnectionを拡張する.Net用のマイクロORMであり、クエリの設定、実行、および結果の読み取りを簡素化します。

どうすれば入手できますか?

一般的なタスク

バージョン

バージョンノート発売日
1.50.0 core-clr / asp.net 5.0がRTMに対してビルドされています 2016年6月29日
1.42.0 2015-05-06
1.40.0 2015-04-03
1.30.0 2014-08-14
1.20.0 2014-05-08
1.10.0 2012-06-27
1.0.0 2011-04-14

NugetからDapperをインストールする

Visual Studio GUIで検索するか、

ツール> NuGet Package Manager>ソリューションのパッケージ管理...(Visual Studio 2015)

Dapperが選択されているVisual Studioパッケージマネージャインターフェイスのスクリーンショット

または、このコマンドをNuget Power Shellインスタンスで実行して、最新の安定版をインストールします

Install-Package Dapper

または特定のバージョン

Install-Package Dapper -Version 1.42.0

C#でDapperを使う

using System.Data;
using System.Linq;
using Dapper;

class Program
{
    static void Main()
    {
        using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true"))
        {
            db.Open();
            var result = db.Query<string>("SELECT 'Hello World'").Single();
            Console.WriteLine(result);
        }
    }
}

Usingブロックに接続をラップすると、接続が閉じられます。

LINQPadでDapperを使う

LINQPadは、データベースクエリのテストに最適で、 NuGetの統合も含まれています。 LINQPadでDapperを使用するには、 F4キーを押してクエリのプロパティを開き、[ Add NuGet]を選択します。 dapper dot netを検索し、 Add To Queryを選択します。また、LINQPadクエリに拡張メソッドを含めるには、[ 名前空間の追加 ]をクリックして[Dapper] 強調表示することもできます。

Dapperを有効にすると、言語ドロップダウンをC#プログラムに変更し、クエリ結果をC#クラスにマップし、.Dump()メソッドを使用して結果を検査できます。

void Main()
{
	using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true")){
		db.Open();
		var scalar = db.Query<string>("SELECT GETDATE()").SingleOrDefault();
		scalar.Dump("This is a string scalar result:");
		
		var results = db.Query<myobject>(@"
		SELECT * FROM (
		VALUES (1,'one'),
			(2,'two'),
			(3,'three')
		) AS mytable(id,name)");
		results.Dump("This is a table mapped to a class:");
	}
}

// Define other methods and classes here
class myobject {
	public int id { get; set; }
	public string name { get; set; }
}

プログラムを実行すると、結果は次のようになります。

LINQPadスクリーンショット



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow