Gui*_*Gui 4 nhibernate nhibernate-3
我正在尝试编写一个查询以使用DateTime进行选择.Year作为where参数,但我从nunit收到此错误:
NHibernate.QueryException:无法解析属性:Register.Year of:Estudantino.Domain.Events
在类Event中,我有一个名为Register的属性作为DateTime类型.
public virtual DateTime Registada { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是返回错误的方法:
using (ISession session = NHibernateHelper.OpenSession())
{
return session.QueryOver<Evento>()
.Where(x => x.Register.Year == year)
.List();
}
Run Code Online (Sandbox Code Playgroud)
变量year的类型为int,已传递给方法.
有谁知道我做错了什么?我的数据库服务器是SQL Server 2005 Express.
QueryOver无法解决类似问题DateTime.Year.
使用LINQ代替:
return session.Query<Evento>()
.Where(x => x.Register.Year == year)
.ToList();
Run Code Online (Sandbox Code Playgroud)
在QueryOver中,您可以说:
dateTimeColumn.YearPart() == 1999
Run Code Online (Sandbox Code Playgroud)
还有其他的扩展方法:MonthPart(),DayPart(),等.
| 归档时间: |
|
| 查看次数: |
3104 次 |
| 最近记录: |