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

How to QueryOver a list of string in NHibernate

我有一个带有以下字符串列表的用户模型 -

    private ISet<String> _mobileNumbers;

    public virtual ISet<String> MobileNumbers
    {
        get { return _mobileNumbers ?? (_mobileNumbers = new HashedSet<String>()); }
        set { _mobileNumbers = value; }
    }

我需要在此 table 上编写 NHibernate QueryOver 以获取具有特定手机号码的用户列表。像 -

String mobileNumber = null;
Repository.QueryOver<User>()
            .JoinAlias(u => u.MobileNumbers, () => mobileNumber)
            .WhereRestrictionOn(() => mobileNumber)
                .IsLike(searchedMobileNumber, MatchMode.Exact);

我想过为 MobileNumber 创建一个模型,或者编写一个 SQL 查询来做同样的事情。但是还有其他选择吗??

NHibernate QueryOver 中不支持:参见示例 QueryOver - add restriction on primitive collection .

它在 "pure" HQL 查询中受支持,例如在 中编写。