2010-03-13 1 views

답변

3

Linq는 queryProviders 개념을 사용합니다. 쿼리 공급자는 lamba 식을 기본 데이터 저장소의 쿼리로 변환합니다. Obalix가 전에 Linq to Entities 쿼리 공급자는 lambda를 사용하여 linq를 기본 sql.net 객체를 사용하여 실행되는 실제 sql로 변환한다고 말했습니다. here 표준 함수를 살펴보고 sql로 변환됩니다. 반면에 linq to dataset은 DAtaSet 인프라에 대해 작동합니다. 데이터 세트에는 관련 검색어가 있음을 기억하십시오. (getters, updates, deletes, inserts)를 DataAdapters 객체의 사용법과 함께 사용합니다. Linq 쿼리는 데이터 세트 = 테이블, 컬럼 등에서 이미 존재하는 객체에 매핑됩니다. 공급자는 그러한 낮은 레벨에서 작동하지 않기 때문에 SQL 쿼리가 작성되지 않습니다. 데이터 세트는 사용하는 데이터 추상화입니다.

데이터베이스 불가지론에 관심이 없다면 linq를 SQL로 가져 가야 할 수도 있습니다. 올바르게 들었 으면 Oracle에 대한 일부 공급자 linq도 있습니다.

6

이들은 독립적입니다.

  • Linq to Dataset은 이전에 ADO.NET을 사용하여 만든 DataSet에 대해 작동합니다. linq를 사용하기 전에 데이터 집합이로드되므로 SQL 쿼리가 동적으로 빌드되지 않습니다.

  • Linq to EntityFramework는 엔티티 프레임 워크 컨텍스트에서 작동합니다. 여기서 SQL 쿼리는 사용자가 제공 한 Linq 쿼리를 기반으로 동적으로 생성됩니다.

3

이들은 독립적이어서 잘 작동하지 않습니다.

LINQ-to-Datatsets은 IEnumerable을 기반으로 DataTables에 이미로드 된 데이터에 대한 LINQ 쿼리를 허용하는 확장 메서드 집합입니다. List <> 및 기타 컬렉션을 쿼리하는 것이 좋습니다.

LINQ-to-Entities는 쿼리 공급자와 IQueryable을 사용하여 LINQ 쿼리를 SQL 쿼리로 변환합니다. 또한 데이터베이스 테이블을 오브젝트로 모델링합니다.

EF를 사용하는 경우 데이터베이스 지향적 인 데이터 집합을 사용하여 훨씬 더 많은 개체 지향을 작성할 수 있습니다.