今回から micro-ORM である PetaPoco を試してみる。PetaPoco も Dapper と同じく、1ファイルのみからなっているが、Dapper と違って最初から Insert/Update/Delete メソッドを持っている。
PetaPoco は以下からダウンロードできる。
https://github.com/toptensoftware/petapoco
ダウンロードした中に「PetaPoco」というフォルダがあり、その中の「PetaPoco.cs」が、PetaPoco 本体である。プロジェクトにこのファイルを追加するだけで PetaPoco が使えるようになる。
サンプルで使うデータベースは前回までの Dapper で使ったものと同じなので、そちらを見てほしい。
プロジェクトを作成する。プロジェクト名は PetaPocoTest1 とした。
次に PetaPoco 本体である PetaPoco .cs をプロジェクトに追加する。ここで、
とのエラーが出ると思うので、参照設定に System.Configuration を追加する。
次に Form1.cs に以下を追加する。
Form1 にButton と DataGridview を貼り付け、Button のクリックイベントで SQL Server からデータを取得し、DataGridview に表示することにする。このあたりは Dapper のときと同じだ。
Dapper よりも簡単に書ける。DB接続のオープンもクローズも書く必要がない。これはこれでなんか不安だが。
以上。
PetaPoco は以下からダウンロードできる。
https://github.com/toptensoftware/petapoco
ダウンロードした中に「PetaPoco」というフォルダがあり、その中の「PetaPoco.cs」が、PetaPoco 本体である。プロジェクトにこのファイルを追加するだけで PetaPoco が使えるようになる。
サンプルで使うデータベースは前回までの Dapper で使ったものと同じなので、そちらを見てほしい。
プロジェクトを作成する。プロジェクト名は PetaPocoTest1 とした。
次に PetaPoco 本体である PetaPoco .cs をプロジェクトに追加する。ここで、
'ConfigurationManager' は現在のコンテキスト内に存在しません。
とのエラーが出ると思うので、参照設定に System.Configuration を追加する。
次に Form1.cs に以下を追加する。
using PetaPoco;
Form1 にButton と DataGridview を貼り付け、Button のクリックイベントで SQL Server からデータを取得し、DataGridview に表示することにする。このあたりは Dapper のときと同じだ。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using PetaPoco; namespace PetaPocoTest1 { public partial class Form1 : Form { private string connectionString = "Data Source=(local);Database=ORMTest;User ID=ORMTest_user;Password=ORMTest_password"; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var db = new PetaPoco.Database(connectionString, "System.Data.SqlClient"); var resultList = db.Query<Product>(@"SELECT * FROM Product ORDER BY ProductId"); dataGridView1.DataSource = resultList.ToList(); } } public class Product { public int ProductId { get; set; } public string Name { get; set; } public int Price { get; set; } public int SubCategoryId { get; set; } } }
Dapper よりも簡単に書ける。DB接続のオープンもクローズも書く必要がない。これはこれでなんか不安だが。
以上。