如何查询 NHibernate 中的字符串列表



我有一个用户模型,字符串列表如下 -

    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 中编写。

最新更新