我正在努力解决以下问题。任何人都可以帮忙怎么做?
如何将nhibernate查询写入以下
select * from tableA where description like (*Any of the items from a lst*)
List<string> lst = new List<string>
{
"AAA","BBB","CCC","DDD"
}
目前我正在选择所有记录并在内存集合中应用此过滤。
实际代码:
private List<string> lst = new List<string>{
"AMV",
"BMVi",
"CMV",
"DTL"
}
public virtual IEnumerable<Asset> ReplayAssets(DateTime updatedDateTimeFrom, DateTime updatedDateTimeTo)
{
Asset assetAlias = null;
var query = Session.QueryOver(() => assetAlias);
//Here i need to add something like
query.where(()=>assetAlias.title.like(*any item in the above list lst* )
query.Where(() => assetAlias.LastUpdatedDate.IsBetween(updatedDateTimeFrom).And(updatedDateTimeTo));
return query.Future<Asset>();
}
由于
答案 0 :(得分:0)
这很简单。
var lst = new List<string>
{
"AAA", "BBB", "CCC", "DDD"
};
var items = Session.Query<TableA>
.Where(x => lst.Contains(x.Description))
.ToList();