きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

WebMatrix.Data.StronglyTypedとな!?

※シリーズ(?)の途中というかまだ始まってもない感じですが、ちょっと別の話題です。忘れないうちのメモです。

@ishisaka さんのtweetで知ったのですが、上記のとおり、WebMatrix.Data.StronglyTyped なるものがあるとか。

https://github.com/JeremySkinner/WebMatrix.Data.StronglyTyped/tree/master/src/WebMatrix.Data.StronglyTyped

名前からもご想像に難くないとも追いますが、以下の通り、WebMatrix.Data.Databaseでクエリを投げたときに、型付けされたオブジェクトに反してくれるとう素敵ライブラリのようです。
http://www.jeremyskinner.co.uk/2011/01/24/strongly-typed-data-access-with-webmatrix-data/ から抜粋すると、

public class User {
  public int Id { get; set; }
  public string Surname { get; set; }
  public string Forename { get; set; }
  public string FullName {
    get { return Surname + ", " + Forename; }
  }
}

こんな風にエンティティクラスを作っておいて、

using(var db = Database.Open("MyDatabase")) {
   var users = db.Query<User>("select Id, Surname, Forename from Users");
   foreach(var user in users) {
     Console.WriteLine(user.FullName);
   }
}

という感じで使えるみたい。


で、Nugetのパッケージも公開されてるようですので、さっそく使ってみました
http://nuget.org/packages/WebMatrix.Data.StronglyTyped




これはなかなか素敵!!