【发布时间】:2013-04-18 10:32:57
【问题描述】:
我有这个 QueryOver,我在其中选择 Log 记录,其中日志 Name 以 D 或 开头em>F(使用通配符)。
conv.InnerTransaction.Session.QueryOver<Log>()
.Where(l => l.DateTime > _datetime)
.And(
l => l.Name.IsLike("D%") || l.Name.IsLike("F%")
)
相反,我希望名称搜索能够动态使用列表中的值。如何做到这一点?
我尝试过类似的方法:
var query = conv.InnerTransaction.Session.QueryOver<Log>()
.Where(l => l.DateTime > _datetime);
foreach (var name in _names)
{
query = query.And(l => l.Name.IsLike(name));
}
但这会导致列表中的每个名称都有多个 AND 语句,而它只需要是一个 OR。
【问题讨论】:
标签: c# .net nhibernate queryover