2009-07-31 3 views

답변

5

LINQ는 대부분의 다른 데이터 액세스 방법을 통해 하나의 큰 장점을 가지고 보호기 엄청난 시간이 있기 때문에 그것을 LINQ 고려할 수 왜 많은 이유 중 하나라고 생각 : 그것은 '쿼리를 중심 표현 '메타포는 쿼리가 유사한 객체를 통과하고 변경 및 수정 될 수 있음을 의미하며 모두 전에이 실행 (반복)됩니다. 실제로 이것이 의미하는 바는 코드가 모듈화되고 더 잘 분리 될 수 있다는 것입니다. 데이터 액세스 저장소가 'orders'쿼리를 반환하면 요청 처리 파이프 라인의 중간 필터가이 쿼리를 필터로 장식 한 다음 정렬 및 페이지 매김 등을 추가하는 디스플레이 모듈로 전달됩니다. 결국, 이 표현식은 완전히 구체화 된 SELECT ... WHERE ... ORDER BY ... LIMIT ... (또는 ROW_NUMBER와 같은 다른 백엔드 특정 페이지 매김)으로 완전히 변형되었습니다. 응용 프로그램 개발자에게는 매우 귀중하며 단순히 실행 가능한 대안이 없습니다. 이것이 내가 LINQ가 머물러 있으며 2 년 후에 사라지지 않을 것이라고 믿는 이유입니다. 단지 일시적 유행 이상의 의미가 있습니다. 그리고 특별히 데이터베이스 액세스 방법으로 LINQ를 언급하고 있습니다.

쿼리 식 개체 만 조작하면 LINQ를 낙찰 할 수 있다는 장점이 있습니다. 여기에 조작 할 수있는 여러 컨테이너 유형 (XML, 배열 및 컬렉션, 객체, SQL)과이 모든 다른 기술을 통해 제공되는 균일 한 인터페이스를 사용하여 병렬 처리 변경 사항을 고려하십시오. 배열 및 컬렉션의 LINQ 처리에 투명하게 통합되어 LINQ가 사라지는 방식은 아닙니다. 물론, 오늘날 그것은 때때로 읽을 수없고, 성능이 좋지 않고 불변의 SQL을 생성하며, 모든 DBA의 악몽입니다. 좋아질거야.

+0

lol @ "모든 전용 DBA 악몽". – Tundey

+0

훌륭한 답변 (나 자신과 같은 질문이 있었음)을 알고 "때때로 읽을 수없고, 성능이 좋지 않고 불변의 SQL을 생성합니다." :) – JohnB

4

Linq는 귀하의 데이터에 대한 "퍼스트 클래스"액세스를 제공합니다. 귀하의 질의가 이제 프로그래밍 언어의 일부라는 것을 의미합니다.

Linq는 모든 종류의 데이터 객체에 액세스하는 일반적인 방법을 제공합니다. 예를 들어, 데이터베이스 쿼리에 액세스하는 데 사용되는 구문과 동일한 구문을 사용하여 목록, 배열 및 XML 파일에 액세스 할 수 있습니다.

Learning Linq는 프로그래밍 언어에 대해 더 깊이 이해할 것입니다. Linq는 확장 메서드, 익명 형식, 람다 식, 식 트리, 형식 유추 및 개체 이니셜 라이저와 같은 모든 종류의 언어 혁신을 주도했습니다.

+0

나는 두 번째 이유가 가장 좋습니다. – JohnB

0

이 질문이 실제 질문입니까? 코드 스 니펫으로는 대답 할 수 없습니다. 토론 유형 질문의 대부분은 빨리 닫힙니다.

+3

... 아마도 가장 좋은 의견으로 표현됩니다. –

+1

@Robert Harvey, 아마도 코멘트 일 가능성이 가장 높습니다.하지만 내용이 유형 검사 및 안전성이없는 큰 텍스트 (SQL 쿼리)를 전달하는 대신 Visual Studio에서 –

2

데이터베이스를 쿼리 할 때 SQL을 LINQ로 바꾸는 것이 더 나은 질문이라고 생각하십니까?

+1

유형 안전 Intellisense입니다 (불면 생산시 런타임에만 .....) –

+1

@mark_s :이 작업을 수행하는 다른 방법이 있지만. 강력하게 형식화 된 데이터 집합 (예 : –

+1

Linq는 Linq에서 SQL 또는 Entity Framework와 같은 ORM을 통해 데이터에 액세스하는 기본 방법입니다. –

1

"당신의 적을 아십니까?"

OTOH, 관심 대상입니다. 나는 XMl, XSLT, XSD 등등에 대해 더 배우고 있는데, 데이터베이스 개발자로서 그들을 사용할 수 있기 때문이다.

0

나는 하나 LINQ 큰 생산성 향상 및

0

이 질문은 LINQ가 대폭 인기를 얻으면 서버 측 개발자가 이전 버전과 마찬가지로 SQL을 알고 있는지 묻습니다.

+2

조립 방법을 얼마나 잘 알고 있습니까? –

관련 문제