假设我有以下域模型:
public class Fund : EntityBase
{
public virtual string Name { get; set; }
public virtual IList<FundDetail> FundDetails { get; set; }
public Fund()
{
FundDetails=new List<FundDetail>();
}
}
public class FundDetail : EntityBase
{
public virtual string Symbol { get; set; }
public virtual Fund Fund { get; set; }
}
现在我想获得基金名称或基金详情ymbol包含一些字符串值的所有资金:
var funds = _fundRepository.QueryOver()
.Left.JoinAlias(c => c.FundDetails, () => fundDetail)
.Future().ToList();
如何使用&#34;或&#34; QueryOver中的子句?所以我需要查询所有资金:
string filterVal="someval";
c=>c.Name.Lower().Contains(filterVal) or fundDetail.Symbol.Lower().Contains9filterVal
感谢。
答案 0 :(得分:0)
您可以添加对Where方法的调用:
string filterVal = "someval";
var funds = _fundRepository.QueryOver<Fund>().
.Where(c => c.Name.Lower().Contains(filterVal) ||
c.fundDetail.Symbol.Lower().Contains(filterVal))
.Left.JoinAlias(c => c.FundDetails, () => fundDetail)
.Future().ToList();
查看this article以了解有关QueryOver的所有其他选项。