데이터베이스 공급 업체 중립적 인 DAL 라이브러리를 구현하고 있습니다. 페이지 매김을 설명하기 위해 ADO.NET (System.Data)에 추상화가 있습니까? 그리고 일부 공급 업체의 ADO.NET 공급자 구현은 이러한 인터페이스를 지원하므로 사용자 지정된 SQL 구문을 수동으로 도구화 할 필요가 없습니다.페이지 매김을 선언하는 추상 ADO.NET 인터페이스가 있습니까?
1
A
답변
1
ADO.Net은 페이지 매김을 지원하지 않습니다. Skip 및 Take 연산자는 ROW_NUMBER() 함수를 사용하여 SQL 공급자가 구현하므로 LINQ2SQL이 있습니다. Entity Framework는 Entity-SQL 구문에서 SKIP 및 LIMIT을 지원하고 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 추상화를 찾고있었습니다. –
DataGrid에서 페이징을 수행한다고 가정합니다. – Khanzor
반드시 그렇지는 않지만 그렇습니다. 그래도 UI 비트를 페이지 매기기로 가져 오는 방법을 이미 알고 있습니다. 내가 쏘고있는 것은 DB 페이지 매김이다 (성능 향상을 위해서). 또한 T-SQL 구문, PL-SQL 구문 등을 알고 있지만 ADO.NET에 페이지 매김 된 쿼리의 선언을 추상화하는 것이 있는지 궁금합니다. –
기존 ORM을 사용하지 않는 이유는 무엇입니까? – jfar