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

时间:2016-02-17 11:30:44

标签: sql nhibernate queryover

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

    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查询。但还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

NHibernate QueryOver 不支持:请参阅示例QueryOver - add restriction on primitive collection

“纯”HQL查询支持它,例如在https://stackoverflow.com/a/23152387/613130中编写。