LINQ 관련링크
http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx : 101 LINQ Samples
http://www.linqpad.net/ : head first C# 감수자중 한명인 죠 알바히리가 무료로 제공하는 LINQ 학습 툴
1. join
이녀석은 기본적으로 natural join 만을 지원하는 모양이다.
join 에는 반드시 on .. equals 가 따라와야 하는데,
equals 이외의 연산자는 사용할 수 없다.
또한 equals 의 좌측에는 join 에서 사용한 변수는 사용할 수 없고
equals의 우측에는 join 에서 사용한 변수만 사용해야 한다.
var dlist = from dat1 in data1
join dat2 in data2
on dat1 equals dat2
이런식의 쿼리는 legal 하다.
그러나 아래와 같은 쿼리는 illegal 하다.
var dlist = from dat1 in data1
join dat2 in data2
on dat1 equals dat1
var dlist = from dat1 in data1
join dat2 in data2
on dat2 equals dat2
2.select new { } 로 익명타입 사용시
쿼리의 select 절에서 select new { a.b.c, d, e.f } 라고 썼다면...
foreach 문에서 결과를 하나씩 뽑아 쓸 때 attribute(?) 이름은 각각 c,d,f 가 된다. (IDE가 알아서 해줌)
이름이 중복되는 것은 허용하지 않는다.
3.MySQL, Oracle 과 LINQ를 연결하는 방법?
VS에서 직접 만든 SQL database와 LINQ를 연결하는 LINQ to SQL 클래스가 있듯이
Oracle의 경우 유료 LINQ to Oracle 클래스가 있다.
(MySQL 은 유료인지 무료인지 잘 모르겠다)
그런데 이건 닷넷 3.5부터 출시된 Entity framework 를 사용하면 되므로 필요가 없다고도 한다...
장단점이 있다고도 하고..
이에 대한 자세한 글은 별도로 적어둔다.
'C#, .NET' 카테고리의 다른 글
Invader (0) | 2011.06.17 |
---|---|
Entity Framework (0) | 2011.06.17 |
Hive Simulator (0) | 2011.06.17 |
확장 메소드와 static class (0) | 2011.06.17 |
struct (0) | 2011.06.17 |