C# Linq到NHibernate返回名称以字符串列表内容开头的实体

C# Linq到NHibernate返回名称以字符串列表内容开头的实体,c#,linq,nhibernate,collections,linq-to-nhibernate,C#,Linq,Nhibernate,Collections,Linq To Nhibernate,是否可以在Linq to NHibernate中执行类似操作-“从列表中获取名称以任何字符串开头的所有实体” 我有一个疑问: var result=session.Query<Entity>() .Where(e=> listOfStrings.Any(s=> e.Name.StartsWith(s))) .ToList(); var result=session.Query() .Where(e=

是否可以在Linq to NHibernate中执行类似操作-“从列表中获取名称以任何字符串开头的所有实体”

我有一个疑问:

var result=session.Query<Entity>()
                  .Where(e=> listOfStrings.Any(s=> e.Name.StartsWith(s)))
                  .ToList();
var result=session.Query()
.Where(e=>listofstring.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();
var query=session.QueryOver();
var析取=新析取();
foreach(listofstring中的var s)
{
disjunction.Add(Restrictions.On)(e=>e.Name)
.IsLike(s,MatchMode.Start));
}
var result=query.Where(析取).List();

列表是否也来自数据库?在这种情况下,我可以提供一个使用分离标准的示例…您使用的是哪个版本的nhibernate?否。字符串列表来自应用程序(用户输入)。我使用NHibernate.3.3.3.4001。