是否可以在Linq to NHibernate中执行类似的操作 - “获取名称以列表中的任何字符串开头的所有实体”。
我有这个问题:
var result=session.Query<Entity>()
.Where(e=> listOfStrings.Any(s=> e.Name.StartsWith(s)))
.ToList();
但我得到
“NotSupportedException:不支持指定的方法。”
答案 0 :(得分:1)
试试这个:
var query = session.QueryOver<Entity>();
var disjunction = new Disjunction();
foreach (var s in listOfStrings)
{
disjunction.Add(Restrictions.On<Entity>(e => e.Name)
.IsLike(s, MatchMode.Start));
}
var result = query.Where(disjunction).List();