2011-04-01から1ヶ月間の記事一覧

Soma 0.8.0.0 をリリースしました。

F#で作ったO/Rマッパー Soma 0.8.0.0 をリリースしました。 http://soma.codeplex.com/releases/view/65079 F#にはもちろん、C#やVB.NETに最適化したAPIもあります。 F#用サンプルコード C#用サンプルコード VB.NET用サンプルコード 前回からの変更点は次の…

Soma 0.7.0.0 のC#サポートについて

Soma 0.7.0.0 で C#(やVB.NET)のサポートを強化しました。このエントリではその点について紹介します。まず、Soma.Core.Dbの全メソッドがオーバーライド可能です。ですので、ちょっとフックしてアプリに共通の機能を入れたりと便利に使えます。 たとえば、…

Soma.Core.DbクラスのQueryOnDemandメソッド

もうひとつ紹介。 QueryOnDemandメソッドは、SQLの実行を遅延し、さらにDbDataReaderを読みながら一件一件結果を返します。大量データを扱うときに便利です。たとえば、Employeeテーブルから全件取得する次のようなコードを見てみます。 var db = new Db(new…

Soma 0.7.0.0 リリース

.NETのO/Rマッパー Soma 0.7.0.0 をリリースしました。F#、C#、VB.NETをサポートします。 http://soma.codeplex.com/releases/view/64498 今回のリリースでは、C#やVB.NETから使いやすいように、クラスの名前を調整しました。それと、C#を意識したドキュメン…

Soma 0.6.0.0 リリース

.NETのO/Rマッパー Soma 0.6.0.0 をリリースしました。 http://soma.codeplex.com/releases/view/64164 F#、C#、VB.NETで動作します。それぞれの言語ごとにサンプルプロジェクトを作ったので、それらを見ると使い方のイメージが湧くと思います。.NETのバージ…

F#でSomaを使うメリット その2 : 単位の利用

F#には単位という非常にクールな機能があります。F#でSomaを使えばこの機能が利用でき、わかりやすいプログラムを安全に(コンパイル時にチェックされるので)記述できます。サンプルを見てみましょう。まず、センチメートル、メートル、キログラム、そして…

F#でSomaを使うメリット

かんたんにいうとF#の次の特長を活かせます。 nullを排除できる 値をimmutableにできる それってF#なんだから当然でしょ、と思うかもしれません。しかし、既存のO/Rマッパーを使おうとすると上の2つの特徴はたやすく犠牲になってしまうのです。既存のO/Rマッ…

Soma 0.5.0.0 リリース

F#で作ったO/RマッパーSoma 0.5.0.0をリリースしました(C#やVB.NETでも使えます)。 http://soma.codeplex.com/releases/view/63671 今回リリースのメインの機能は2つです。 Enumのサポート ストアドプロシージャ呼び出しのサポート Enumサポートの機能は以…