[linq] LINQ에 대한 학습

개요

이 사이트에서 내가 많이 요청한 것 중 하나는 LINQ 입니다. 내가 요청한 질문은 광범위하고 다양하며 종종 많은 맥락을 가지고 있지 않습니다. 따라서 Linq에 대해 얻은 지식을 통합하기 위해 LINQ에 대해 계속 배우면서 추가 정보로 정보를 유지 관리하고 업데이트하기 위해이 질문을 게시하고 있습니다.

또한 LINQ에 대해 배우고 자하는 다른 사람들에게 유용한 자료가되기를 바랍니다.

LINQ 란 무엇입니까?

에서 MSDN :

LINQ 프로젝트는 언어 통합 쿼리, 설정 및 변환 작업을 포함하는 .NET Framework의 확장 집합에 대한 코드 이름입니다. 쿼리에 대한 기본 언어 구문으로 C # 및 Visual Basic을 확장하고 이러한 기능을 활용할 수있는 클래스 라이브러리를 제공합니다.

이것이 의미하는 것은 LINQ는 일반적인 구문을 사용하여 다양한 데이터 소스를 쿼리하는 표준 방법을 제공한다는 것입니다.

LINQ에는 어떤 맛이 있습니까?

현재 Microsoft에서 제공하는 몇 가지 다른 LINQ 공급자가 있습니다.

꽤 많은 다른 것들이 있으며, 그중 많은 것들이 여기 에 나열되어 있습니다 .

장점은 무엇입니까?

  • 여러 데이터 소스를 쿼리하는 표준화 된 방법
  • 쿼리의 컴파일 시간 안전
  • 메모리 객체에서 세트 기반 작업을 수행하는 최적화 된 방법
  • 쿼리를 디버깅하는 기능

LINQ로 무엇을 할 수 있습니까?

ChookCSV 파일출력 하는 방법을 제공 합니다.
Jeff배열에서 중복제거 하는 방법을 보여줍니다.
Bob은 데이터 테이블에서 순서다른 목록을 가져
옵니다. Marxidad배열정렬하는 방법을 보여줍니다.
Dana는 Linq를 사용하여 빠른 정렬을 구현하는 데 도움을줍니다.

어디서 시작하나요?

GateKiller의 질문에 대한 링크 요약 은 다음과 같습니다 .
Scott Guthrie는 자신의 블로그에서 Linq에 대한 소개를 제공합니다 . MSDN
LINQ 개요

ChrisAnnODell 은 다음을 확인하도록 제안합니다.

LINQ를 사용하려면 무엇이 필요합니까?

Linq는 현재 VB.Net 9.0 및 C # 3.0에서 사용할 수 있으므로 전체 이점을 얻으려면 Visual Studio 2008 이상이 필요합니다. (당신은 항상 메모장에서 코드를 작성하고 MSBuild를 사용하여 컴파일 할 수 있습니다)

LinqBridge 라는 도구 가있어 C # 2.0에서 쿼리와 같은 Linq를 실행할 수 있습니다.

LINQ를 사용한 팁과 요령

이 질문 에는 LINQ를 사용하는 까다로운 방법이 있습니다



답변


답변

ADO.NET Entity Framework가 중요한 .NET 모듈이기 때문에 LINQ to Entities를 언급하십시오.


답변

Linq in Action 책 읽기 코딩 책을 쉽게 읽을 수 있으며 Linq 및 .NET 3.5의 새로운 기능을 사용하여 언어에 사용하는 멋진 부분을 실제로 가르쳐줍니다.


답변

몇 가지 LINQ 팁 :

  • 쿼리 성능 향상을 위해 조인 전에 필터 적용
  • 객체 참조 비교를 사용하여 LINQ 쿼리 필터링
  • LINQ to SQL 쿼리의 빈 컬렉션에 집계 적용
  • LINQ에서 SQL로 속성로드 지연
  • 열성적인 로딩을 설정 한 상태에서 테이블 반환 함수 사용
  • LINQ to Objects 쿼리에서 올바른 순서로 조인 넣기
  • 루프 내에서 LINQ 쿼리 작성

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


답변

간과하지만 중요한 이점 인 IMHO는 LINQ의 코딩 효율성, 예를 들어 너무 적은 코드로 달성 할 수있는 양입니다. 개인적으로 쿼리 구문을 쉽게 읽고 이해할 수 있습니다.


답변

LINQ to SQL 사용에 대한 몇 가지주의 사항 :

Microsoft는 실제로 LINQ to SQL을 종료 했습니까?

LINQ to SQL DOA입니까?

탄원서를 포함하여 Entity Framework 의 첫 번째 버전에 대한 논쟁 도 있습니다 .


답변

“LINQ에는 어떤 맛이 있습니까?” 불완전하다. 우선, 당신은 당신의 자신의 “맛”을 만들 수 있습니다. 예, 고급 작업이지만 현재 LINQ 구현에는 여러 가지가 있습니다.

Charlie Calvert의 블로그에있는 기존 LINQ 제공 업체 (LINQ 학습에 대한 추가 자료 포함) 목록은 다음과 같습니다. Links to LINQ .

또한 자신의 LINQ 공급자를 만드는 방법에 대한 Matt Warren의 훌륭한 블로그 게시물 시리즈가 있습니다. LINQ : IQueryable 공급자 시리즈 만들기