0

私は3つのテーブルを持っています:

User -> UserId, username

UserGroup -> UserGroupId, GroupName

UserGroupMember -> UserId, UserGroupId

nHibernate を使用して対応するマッピングを作成しましたが、グループ名を検索して特定のグループに属するユーザー リストを取得しようとすると、エラーが発生し、結果を取得できません。

誰かがこの問題を解決するのを手伝ってくれますか?

4

1 に答える 1

0

問題についてはよくわかりませんが、特定の名前のグループのすべてのユーザーを選択したいと考えています。

私はこのようにします:

var users = Session.QueryOver<UserGroupMember>()
      .Fetch(x => x.User).Eager
      .JoinQueryOver(x => x.UserGroup).Where(x => x.GroupName == groupName)
      .List().Select(x => x.User)

そのクエリを使用すると、SQLは次のようになります。

Select m.*, u.* 
from UserGroupMember m 
         inner join UserGroup g on m.UserGroupId=g.UserGroupId 
         inner join User u on m.UserId = u.UserId 
where g.GroupName='groupName'
于 2012-07-25T13:49:21.990 に答える