Nhibernate 查询的Or约束
我想按名称获取所有分区状态,其中它完全符合Nhibernate 查询的Or约束,nhibernate,Nhibernate,我想按名称获取所有分区状态,其中它完全符合分区名称,或者在包含时以它开头 这就是我的疑问 return session.QueryOver<PartitionState>() .Where(p => p.Name == partitionName) .WhereRestrictionOn(p => p.Name).IsLike(partitionName + ".", MatchMode.Start) .OrderBy(p
分区名称
,或者在包含
时以它开头
这就是我的疑问
return session.QueryOver<PartitionState>()
.Where(p => p.Name == partitionName)
.WhereRestrictionOn(p => p.Name).IsLike(partitionName + ".", MatchMode.Start)
.OrderBy(p => p.StartDate).Desc
.Take(1)
.SingleOrDefault<PartitionState>();
似乎没有内置的方法,但可以将限制传递给where方法
return session.QueryOver<PartitionState>()
.Where(Restrictions.Or(
Restrictions.Where<PartitionState>(p => p.Name == partitionName),
Restrictions.On<PartitionState>(p => p.Name).IsLike(partitionName + ".", MatchMode.Start)))
.OrderBy(p => p.StartDate)
.Desc.Take(1)
.SingleOrDefault<PartitionState>();
return session.QueryOver()
.何处(限制)或(
限制。其中(p=>p.Name==partitionName),
限制.On(p=>p.Name).IsLike(partitionName+”,MatchMode.Start)))
.OrderBy(p=>p.StartDate)
.Desc.Take(1)
.SingleOrDefault();
return session.QueryOver<PartitionState>()
.Where(Restrictions.Or(
Restrictions.Where<PartitionState>(p => p.Name == partitionName),
Restrictions.On<PartitionState>(p => p.Name).IsLike(partitionName + ".", MatchMode.Start)))
.OrderBy(p => p.StartDate)
.Desc.Take(1)
.SingleOrDefault<PartitionState>();