【C#】Linqメソッド データ参照および取得 ~ SELECT編 ~

下準備

以下の例については、
http://blogs.yahoo.co.jp/dk521123/16895242.html
を前もって行っています。

データ参照(1):SQLのSELECTみたいにデータ取得する

 * Select()を使用する

private void button1_Click(object sender, EventArgs e)
{
    int[] array = { 1, 2, 3, 4, 5 };

    var query = array.Select((x) => x);
    // var query = from x in array select x; //と同じ意味

    string text = string.Empty;
    foreach (int n in query)
    {
        text += n + " ";
    }

    label1.Text = text; // 出力:「1 2 3 4 5」
}

参照(2):条件付き参照について

 * Select()およびWhere()メソッドを使用する

参照(3):1件のデータを参照

 * SingleOrDefault()を使用する
 * Single()もあるが、こちらはDBに1件もないと例外発生するので注意

string result = string.Empty;

long id;
 if(!long.TryParse(textBox1.Text, out id))
 {
     MessageBox.Show("整数値を入れて下さい");
     return;
 }

using (DataClasses1DataContext context = new DataClasses1DataContext())
{
    Person p = context.Person
        .Where(a => a.PersonId == id)
            .SingleOrDefault();

    label1.Text = string.Format("その人の名前は、{0}", p.Name);
}

直接SQLを実行

 ExecuteCommand()を使用する