2005年11月14日

Gentle.NETで検索を行うサンプル

 Gentle.NETで検索を行うサンプルです。
 プロジェクトはここのものを元にして、Gentle.NETのライブラリを1.2.6に置き換えています。

 また、テーブル「Users」の内容が以下のようになっているとします。

LogonIDNamePasswordEmailAddressLastLogon
user1user1_nameuser1_passuser1@gentle.sample.com2005/11/14 10:49:56
user2user2_nameuser2_passuser2@gentle.sample.com2005/11/16 10:49:56
user3user2_nameuser3_passuser3@gentle.sample.com2005/11/15 10:49:56


 その状態で、ConsoleMain.csを以下のように変更します。

ConsoleMain.cs
------------------------------
using System;
using System.Collections;
using Gentle.Framework;

namespace GentleSample.Console
{
class ConsoleMain
{
[STAThread]
static void Main()
{
try
{
SqlBuilder builder = new SqlBuilder(StatementType .Select, typeof(Users));
builder.AddConstraint(Operator.Equals, "Name", "user2_name");
builder.AddOrderByField("LastLogon");
SqlStatement statement = builder.GetStatement();
SqlResult result = statement.Execute();
IList list = ObjectFactory.GetCollection(typeof(Users), result);
foreach(Users user in list)
{
System.Console.WriteLine("LogonID:" + user.LogonID);
}
}
catch(Exception ex)
{
System.Console.WriteLine(ex.ToString());
}finally
{
System.Console.ReadLine();
}
}

 SqlBuilderクラスのAddConstraint関数で検索条件を設定できます。
 Operator列挙体の値でより小さい、より大きい、LIKE句の検索なども設定できます。
 AddOrderByField関数で、検索結果の順序を設定できます。

 これで、サンプルのプロジェクトを実行すると

    LogonID:user3
    LogonID:user2

 と表示されます。(デバッグ情報なども出力されますが)

 Gentle.NETはObjectFactoryクラスのGetCollection関数を使う必要があったりでちょっと面倒くさいですね。
 NHibernateでの検索はこんな感じになります。

サンプルのダウンロードページ

posted by よっしぃ at 23:19 | Comment(0) | TrackBack(0) | O/Rマッピング

2005年10月11日

NHibernateでマッピングファイルを不要に

 NHibernateでもGentle.NETみたいに永続化クラスのプロパティに属性を設定して、マッピングファイルを不要にできるやり方があるみたいですね。
あとは、それを自動生成できると最高だなぁ。

 詳しくはここを見てみて下さいね。英語ですが・・・

posted by よっしぃ at 17:50 | Comment(0) | TrackBack(0) | O/Rマッピング

2005年09月21日

NHibernateについての記事

 @ITASP.NETで実践するO/Rマッピングという記事でNHibernateが紹介されています。

 興味ある方はご参照下さい。

 なお、上記の記事では触れられていませんが、マッピング・ファイルと永続化クラスはMyGenerationというツールでデータベースのテーブルから生成できます。

 詳しくはコチラをご参照下さい。

posted by よっしぃ at 23:19 | Comment(0) | TrackBack(0) | O/Rマッピング

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。