SQL 생성
Entity Framework 의 공급자를 작성할 때 Entity Framework 명령 트리를 특정 데이터베이스가 이해할 수 있는 SQL(예: SQL Server의 경우 Transact-SQL, Oracle의 경우 PL/SQL)로 변환해야 합니다. 이 단원에서는 Entity Framework 공급자에 대한 SQL 생성 구성 요소(SELECT 쿼리의 경우)를 개발하는 방법을 살펴봅니다. 삽입, 업데이트 및 삭제 쿼리에 대한 자세한 내용은 수정 SQL 생성을 참조하십시오.
이 단원을 이해하려면 Entity Framework 및 ADO.NET 공급자 모델에 대해 잘 알고 있어야 합니다. 또한 명령 트리와 DbExpression도 이해해야 합니다.
SQL 생성 모듈의 역할
Entity Framework 공급자의 SQL 생성 모듈은 지정된 쿼리 명령 트리를 SQL:1999 규격 데이터베이스를 대상으로 하는 단일 SQL SELECT 문으로 변환합니다. 생성된 SQL에는 중첩 쿼리가 가능한 한 적게 포함되어야 합니다. SQL 생성 모듈은 출력 쿼리 명령 트리를 단순화하지 않아야 합니다. Entity Framework 는 조인을 제거하고 연속 필터 노드를 축소하는 등의 작업을 통해 이를 수행합니다.
DBProviderServices 클래스는 DbCommands로 명령 트리를 변환하기 위해 SQL 생성 계층에 액세스할 수 있는 시작점입니다.