Есть два способа написать выражение Like в QueryOver.
Если вы сделаете это из предложения Where:
.Where(Restrictions.Like(Projections.Property<T>(*projected property*), *string value*, MatchMode.Anywhere))
Однако это довольно долго писать.
Таким образом, вы можете использовать WhereRestrictionOn:
.WhereRestrictionOn(*projected property*).IsLike(*string value*, MatchMode.Anywhere)
Это означает, что вам нужно передать два параметра, таких как:
FindAll<User>(x => x.FirstName, "bob");
Вы можете использовать .Contains, .StartsWith,.Заканчивается, но я не уверен.
FindAll<User>(x => x.FirstName.Contains("bob"));
FindAll<User>(x => x.FirstName.StartsWith("bob"));
FindAll<User>(x => x.FirstName.EndsWith("bob"));
Я не думаю, что они работают в NHibernate.
Надеюсь, это поможет.