最近用NHibernate做个项目 由于数据库用的是mssql2000 NHibernate 对 mssql2000的分页查询支持的不是很好 于是自己动手实现一个mssql2000方言
原 NHibernate.Dialect 命名空间下的mssql2000的方言类 MsSql2000Dialect 里的 GetLimitString 方法 如下:
public override SqlString GetLimitString(SqlString querySqlString, int offset, int limit)
{
if (offset > 0)
{
throw new NotSupportedException("SQL Server does not support an offset");
}
/*
* "SELECT TOP limit rest-of-sql-statement"
*/
return querySqlString.Insert (GetAfterSelectInsertPoint(querySqlString), " top " + limit.ToString ());
}
时间: 2025-01-26 15:48:29