我有一个使用linq to nhibernate查询EnterAndExitArchive
实体的查询。此实体与Archive
实体有关联。
public EnterAndExitArchive GetLastEnterAndExitArchive(long archiveId)
{
var q = SessionInstance.Query<EnterAndExitArchive>()
.Where(x => x.Archive.Id == archiveId)
.LastOrDefault<EnterAndExitArchive>();
return q;
}
或者
public EnterAndExitArchive GetLastEnterAndExitArchive(long archiveId)
{
var q = SessionInstance.Query<EnterAndExitArchive>()
.LastOrDefault<EnterAndExitArchive>(x => x.Archive.Id == archiveId);
return q;
}
但这有一个运行时错误。异常消息是
The LastResultOperator result operator is not current supported
。为什么?
最佳答案
在NHibernate中LastOrDefault()
是not supported。
也许您可以订购结果并使用FirstOrDefault()
代替:
public EnterAndExitArchive GetLastEnterAndExitArchive(long archiveId)
{
var q = SessionInstance.Query<EnterAndExitArchive>()
.Where(x => x.Archive.Id == archiveId)
.OrderByDescending(x => x.Something)
.FirstOrDefault();
return q;
}