我有一个带有以下字符串列表的用户模型 -
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创建一个Model,或者编写一个可以做同样事情的SQL查询。但还有其他选择吗?
答案 0 :(得分:0)
NHibernate QueryOver 不支持:请参阅示例QueryOver - add restriction on primitive collection。
“纯”HQL查询支持它,例如在https://stackoverflow.com/a/23152387/613130中编写。