0

私は NHibernate クエリとして以下を書いていますが、HQL として QueryOver を使用して解決策を見つけることができません: -

IQuery query = SessionFactoryContext.GetCurrentSession()
    .CreateSQLQuery(
@"SELECT s.UserID,
    Username,
    Email,Password,
    FirstName,
    LastName,
    Address1,
    Address2,
    City,
    County,
    PostalCode,
    Country 
FROM [dbl].[dbo].[User] s 
    LEFT OUTER JOIN [dbl].[dbo].[groupmembership] g ON s.UserrID = g.UserrID 
WHERE g.UserID IS NULL 
    OR (g.GroupID NOT IN (" + groupID + ")  )")

    .SetResultTransformer(Transformers.AliasToBean(typeof(User)));

return (IList<Subscriber>)query.List<User>();

これを NHibernate クエリとして記述できる方法はありますか?

助けてくれて本当にありがとうございます、

4

1 に答える 1

0
.CreateSQLQuery(
    @"FROM User u left join u.GroupMembership g
    WHERE g.User is null
      OR g.GroupId not in (:groupids)"
.SetParameterList("groupids", groupIds)
.List<User>();

GroupMembership がユーザーのプロパティであり、User と GroupId が GroupMembership のプロパティであるとします。(GroupId が主キーの場合は、簡略化できます)。

于 2012-12-11T10:52:41.103 に答える