我有一个用户模型,字符串列表如下 -
private ISet<String> _mobileNumbers;
public virtual ISet<String> MobileNumbers
{
get { return _mobileNumbers ?? (_mobileNumbers = new HashedSet<String>()); }
set { _mobileNumbers = value; }
}
我需要在此表上编写一个 NHibernate QueryOver,以获取具有特定手机号码的用户列表。像——
String mobileNumber = null;
Repository.QueryOver<User>()
.JoinAlias(u => u.MobileNumbers, () => mobileNumber)
.WhereRestrictionOn(() => mobileNumber)
.IsLike(searchedMobileNumber, MatchMode.Exact);
我想过为MobileNumber创建一个模型,或者编写一个SQL查询来做同样的事情。但是还有其他选择吗?
在 NHibernate QueryOver 中不受支持:参见示例 QueryOver - 添加对基元集合的限制。
它在"纯"HQL 查询中受支持,例如在 https://stackoverflow.com/a/23152387/613130 中编写。