2009-09-27 3 views
1

데이터베이스 공급 업체 중립적 인 DAL 라이브러리를 구현하고 있습니다. 페이지 매김을 설명하기 위해 ADO.NET (System.Data)에 추상화가 있습니까? 그리고 일부 공급 업체의 ADO.NET 공급자 구현은 이러한 인터페이스를 지원하므로 사용자 지정된 SQL 구문을 수동으로 도구화 할 필요가 없습니다.페이지 매김을 선언하는 추상 ADO.NET 인터페이스가 있습니까?

+0

DataGrid에서 페이징을 수행한다고 가정합니다. – Khanzor

+0

반드시 그렇지는 않지만 그렇습니다. 그래도 UI 비트를 페이지 매기기로 가져 오는 방법을 이미 알고 있습니다. 내가 쏘고있는 것은 DB 페이지 매김이다 (성능 향상을 위해서). 또한 T-SQL 구문, PL-SQL 구문 등을 알고 있지만 ADO.NET에 페이지 매김 된 쿼리의 선언을 추상화하는 것이 있는지 궁금합니다. –

+0

기존 ORM을 사용하지 않는 이유는 무엇입니까? – jfar

답변

1

ADO.Net은 페이지 매김을 지원하지 않습니다. SkipTake 연산자는 ROW_NUMBER() 함수를 사용하여 SQL 공급자가 구현하므로 LINQ2SQL이 있습니다. Entity Framework는 Entity-SQL 구문에서 SKIPLIMIT을 지원하고 Linq2EF의 LINQ 연산자는 How to: Page Through Query Results (Entity Framework)을 참조하십시오.

LINQ2SQL 메서드는 SQL Server에 고유하지만 EF 메서드는 기존 ADO.Net 메서드 대신 EF를 사용하려는 경우 '일반'메서드입니다.

1

페이징은 데이터베이스에서 올바른 '페이지'데이터를 검색해야하므로 플랫폼에 따라 다릅니다.

불행히도, 나는 그 페이지를 검색하기위한 SQL 표준이 없다고 생각합니다.

+0

아니요. 각 공급자가 SQL 수준에서 다르게 구현한다는 것을 알고 있기 때문에 ANSI SQL 표준이 없습니다. 구현 여부와 상관없이 ADO.NET 추상화를 찾고있었습니다. –