1
我在这里与一个奇怪的行为... 做一个与NHibernate作为数据库的ORM和MS SQL Server 2008的asp.net mvc3应用程序, m跑到这些exeption:NHibernate与SQL Server 2008方言不支持变量限制
System.NotSupportedException: Dialect does not support variable limits.
的代码非常简单,经典的分页查询:
public IList<Agenzia> getAllAgenzie(int maximumRows, int startRowIndex)
{
using (var session = PersistenceManager.Istance.GetSession()) {
var result = (from agenzia in session.Query<Agenzia>()
select agenzia)
.Skip(startRowIndex)
.Take(maximumRows)
.ToList();
return result;
}
}
而这里的NHibernate的配置
<?xml version="1.0" encoding="utf-8" ?>
<!-- NHibernate Configuration -->
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.xlns">
<property name="dialect">
NHibernate.Dialect.MsSql2008Dialect
</property>
<property name="connection.driver_class">
NHibernate.Driver.SqlClientDriver
</property>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
任何想法它有什么问题吗?我不能相信,NHibernate不支持这种简单的分页...
它确实工作得很好...出于某种原因,申请没有感觉的话所做的更改(它曾经是MsSql2008Dialect)在配置文件中,直到我重新启动Visual Studio。一旦重新启动,问题消失 – themarcuz
我签署了你的答案作为冗余建议的正确答案,即使你没有提出一个通用含义的解决方案......但对我来说是耻辱,因为没有错误:) – themarcuz