差分
Dapper
,'''Dapper'''とは、(読み:だっぱー)とは、[[.NET Framework]]向けの俗にいうMicro ORM。向けの[[Entity Framework]]や[[Active RecordマイクロORM]]のような重量級ORMとは違い、SQL周りのソースコードをまるでPHPなどのLL言語を使っているかのようにサラサラと書けるという代物。である。
== 使い方 ==
=== 接続 ===
0、[[NuGet]]からNpgsqlとDapperを入れる。
1、Web.configにConnectionStringを設定する。ConnectionStringは[[ソースコード]]に埋め込んでもいいが後から変更が大変なのでWeb.configやApp.configを利用するのが望ましい。Npgsqlを使用しているが他も似たようなもん。
<source lang="xml">
<?xml version="1.0"?>
<configuration>
<!-- 省略 -->
<system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql" type="Npgsql.NpgsqlFactory, Npgsql" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="default" providerName="Npgsql" connectionString="Server=localhost; Port=5432; User Id=monobook; Password=; Database=monobook" />
</connectionStrings>
<!-- 省略 -->
</source>
2、「参照」に「System.Configuration」を追加する。
3、使ってみる。
[[PGroonga]]を入れた状態で[[全文検索]]を行っても問題ない。
<source lang="csharp">
var cs = ConfigurationManager.ConnectionStrings["default"].ConnectionString;
using (var con = new NpgsqlConnection(cs))
{
con.Open();
var memos = con.Query<Memos>(@"select * from memos where content %% '全文検索'");
foreach (var memo in memos)
{
Console.WriteLine(memo);
}
}
</source>
=== SELECT ===
<source lang="csharp">
</source>
クエリー
=== INSERT ===
パラメータを配列にすると複数行をinsertできます。
<source lang="csharp">
// {1,1},{2,2},{3,3}という3行がinsertされる