私は3つのテーブルを持っています:
User -> UserId, username
UserGroup -> UserGroupId, GroupName
UserGroupMember -> UserId, UserGroupId
nHibernate を使用して対応するマッピングを作成しましたが、グループ名を検索して特定のグループに属するユーザー リストを取得しようとすると、エラーが発生し、結果を取得できません。
誰かがこの問題を解決するのを手伝ってくれますか?
私は3つのテーブルを持っています:
User -> UserId, username
UserGroup -> UserGroupId, GroupName
UserGroupMember -> UserId, UserGroupId
nHibernate を使用して対応するマッピングを作成しましたが、グループ名を検索して特定のグループに属するユーザー リストを取得しようとすると、エラーが発生し、結果を取得できません。
誰かがこの問題を解決するのを手伝ってくれますか?
問題についてはよくわかりませんが、特定の名前のグループのすべてのユーザーを選択したいと考えています。
私はこのようにします:
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'