Dapper ORM和分页和排序扩展

时间:2012-04-02 20:14:14

标签: dapper

我正在使用Dapper作为可用于Oracle和SQL服务器的通用DAL。提供分页和排序方法的最佳方法是什么,以便它既适用于SQL又适用于Oracle而无需手动创建/更改SQL语句? 类似的东西:

var users= Dapper
           .Query<User>(sqlStatment
                        .Skip(10)
                        .Take(10)); // where sqlStatment string

1 个答案:

答案 0 :(得分:0)

正如@Alex指出的那样,在您选择的两个数据库上进行分页的方式不同,因此最适合进行大多数优化查询的最佳方法是为每个数据库编写单独的查询。

最好创建两个数据提供程序程序集,每个程序集为每个数据库服务:

  • Data.Provider.Sql
  • Data.Provider.Oracle

然后为两个中的一个配置您的应用程序。我故意还创建了Data.Provider命名空间(它可以是某些数据程序集的一部分,并定义了上层提供程序实现的所有数据提供程序接口(在Data.Provider内)。 / p>