色々読んではいたけど、触ってなかったので触ってみました。
お試しコード紹介。
同じ名前の人を引っ張る LINQ です。
C#:
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
namespace ConsoleApplication
-
{
-
class Student
-
{
-
public int id { get; set; }
-
public string name { get; set; }
-
-
public Student(int id, string name)
-
{
-
this.id = id;
-
this.name = name;
-
}
-
-
public void output()
-
{
-
Console.WriteLine("id:{0} name:{1}", id, name);
-
}
-
};
-
-
class Program
-
{
-
static void Main(string[] args)
-
{
-
Student[] classA = {
-
};
-
Student[] classB = {
-
};
-
IEnumerable<student> query = from a in classA
-
join b in classB on a.name equals b.name
-
select a;
-
foreach (Student item in query)
-
{
-
item.output();
-
}
-
}
-
}
-
}
from で複数のテーブル選択したいときは
from h in hoge
from f in fuga
のようにすれば良いみたい。
from hoge, fuga
のように書きたくなるけど、これはNG。
触った感想としては insert, update, delete, drop といった直接的な操作が無い。
inner join とか left join とかの区別はなくて、join だけある感じ。
LINQ は select でデータを取り出して、データ操作自体は LINQ の外でやってねー、という方針みたいですね。
構文は慣れると全然簡単だね、便利だわ〜。
# SQL 書いてると、構文が逆だから混乱するかと思ったけどそうでもない。
