【发布时间】:2011-09-10 00:06:01
【问题描述】:
我有一段相当简单的代码可以从数据库中检索对象。这似乎在 SQL Server 2008 上运行良好,但在 SQL Server Compact 上却失败了。 SQL Server CE 支持 TOP() - 这只是 NHibernate 3 中的一个错误吗?
代码:
public override Profile GetProfileByName(string name)
{
using (var tc = TC)
{
var query = from profiles in tc.Session.Query<Profile>()
where profiles.Name == name
select profiles;
Profile profile = query.FirstOrDefault();
tc.Commit();
return profile;
}
}
NHibernate 配置:
<property name="dialect">NHibernate.Dialect.MsSqlCeDialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlServerCeDriver</property>
例外:
System.NotSupportedException occurred
Message=Dialect does not support limits.
Source=NHibernate
StackTrace:
at NHibernate.Dialect.Dialect.GetLimitString(SqlString queryString, Nullable`1 offset, Nullable`1 limit, Parameter offsetParameter, Parameter limitParameter)
InnerException:
【问题讨论】:
标签: linq nhibernate sql-server-ce