2012年6月7日木曜日

LINQ to SQLでの接続テスト

LINQ to SQLで接続情報が間違っていたり SQLサーバーが死んでたりして接続できないとき どうやって判定すんのかな、ってのが分かんなかったのでメモ。 System.Data.Linq.DataContextは コンストラクタで接続文字列を指定できる。 その接続文字列でアクセスできたかどうかはDatabaseExists()で判定可能。 以下、WPF前提のコード例。
using (var db = new DataClasses1DataContext(builder.ConnectionString)) {
    if (!db.DatabaseExists()) {
        MessageBox.Show("Database open error.");
        this.Close();
    }
    else {
        var t_Customer = from a in db.T_Customer select a;
        this.ListView1.ItemsSource = t_Customer;
    }
}
LINQ to SQLが自動生成するクラスは、 Modelが実装済みなのでViewModelとしてそのままViewに突っ込める。 トランザクションは http://msdn.microsoft.com/ja-jp/library/bb387002.aspx にあるようにスコープで囲むだけでいいみたいだ。

0 件のコメント:

コメントを投稿