このQueryOverで、ログ名がDまたは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 だけです。