是否有可能在Linq中做这样的事情NHibernate - "从列表中获取名称以任何字符串开头的所有实体"
我有这样的查询:
var result=session.Query<Entity>()
.Where(e=> listOfStrings.Any(s=> e.Name.StartsWith(s)))
.ToList();
但是我得到
"NotSupportedException:指定的方法不支持。"
试试这个:
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();