2010-11-24 11 views
4

일부 코드는 linq가 C#의 사전 개체를 통과하는 데 사용되는 것을 보았습니다. 나는 linq가 데이터베이스를위한 SQL에 대한 linq를위한 것이라고 생각했다. 언급 된 코드에서 사용 된 linq는 선택형 문이었으며 데이터베이스 만있었습니다.linq는 linq와 sql이 다른가요?

데이터베이스에 대해 linq to sql이없는 linq이 있습니까? 그 "linq"없이 "SQL"여기에 머물고 있습니까? 나는 사람들이 엔티티 프레임 워크에 대해 linq을 SQL로 대체하지만 EF는 내가 사용하는 linq를 대체하지 않는다고 말했기 때문에 나는 그것을 설명했다. 사전 개체에서 ef를 사용할 수 있습니까? 의견을 기다리고 있습니다. 감사. 나는 그것을보고

을 Heres :

How to find duplicate pairs in a Dictionary?

답변

6

Linq는 객체를 조회 할 수있는 .NET 프레임 워크 기반 기술 (IEnumerable을 구현 무엇이든)입니다. Linq to SQL은 SQL Server 데이터베이스를 쿼리 할 수있는 확장 기능입니다.

예, SQL이없는 Linq는 여기에 있습니다. 그것은 엄청난 기술입니다. 오랫동안 레드몬드에서 나온 최고의 물건 중 하나 인 IMO.

3

LINQ 자체는 대부분 쿼리 표현과 같은 언어 확장으로 지원되는 패턴입니다. List<T> 등에서 작업하는 구현은 대개 LINQ to Objects로 알려져 있습니다. LINQ to SQL과 LINQ to EF는 IQueryable<T>을 통해 데이터베이스에 대한 구현입니다. Reactive ExtensionsIObservable<T>IQbservable<T> 이상의 구현을 제공합니다. Parallel Extensions는 ParallelQuery<T> 이상의 병렬 처리 구현을 제공합니다. 그들은 언어에 의해 지원되는 패턴으로 작업하고 있습니다 - WhereSelect과 같은 메소드는 람다 표현식으로 만들 수있는 적절한 매개 변수를 사용합니다.

LINQ to XML은 약간 이상합니다. 여기에 이 아니고 LINQ 공급자 자체는입니다. 그것은 LINQ to Objects와 특히 잘 작동하는 XML API 일뿐입니다.

3

때때로 "LINQ to Objects"라고도하지만 LINQ 프레임 워크 자체는 여기에 있으며 LINQ-to-SQL 및 LINQ-to-Entities/Entity Framework의 기초가됩니다.

LINQ는 IEnumerable<T>IQueryable<T>에 확장 방법을 적용하여 작동합니다. IEnumerable<T>을 구현하는 모든 항목 (즉, [제네릭 컬렉션이 아닌 모든 일반 컬렉션])을 LINQ 쿼리의 소스로 사용할 수 있습니다.

5

LINQ는 "언어 통합 쿼리"의 약자입니다 SQL 데이터베이스 쿼리 단지 방법보다 더 :

LINQ 표준을 소개 easily- : 위의 링크에서

http://msdn.microsoft.com/en-us/library/bb397926.aspx

을 데이터 쿼리 및 업데이트를위한 학습 된 패턴을 제공하며,이 기술은 잠재적으로 모든 종류의 데이터 저장소를 지원하도록 확장 될 수 있습니다.

LINQ는 .NET 프레임 워크 전체에서 사용되며 질문에서 언급했듯이 네이티브 제네릭 컬렉션 형식에 사용할 수 있습니다.

List<int> myIntList = new List<int>(); 
.... populate with some data 
myFilteredIntList = myIntList.Where(i => i > 10); 

SQL에 LINQ뿐만 아니라, 거기에 LINQ는 LINQ는 XML에 객체로하고, ADO.net에 LINQ : 나를 위해,이 완전히 내가 코드를 작성하는 방법이 변경되었습니다.

Microsoft는 LINQ 기능 집합에 많은 투자를하고 있으며 여기에 머물러 있습니다 ... LINQ-SQL은 결국 LINQ to LINQ를 통해 은퇴하게 될 것입니다. Linq to Entities) : http://blogs.msdn.com/b/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx