Pages テーブルがあり、PageId、ASP.Net Membership Roles テーブルと Pages テーブルにリンクする RoleID を持つ PagesRoles テーブルがあります。
現在ログインしているユーザーの役割にリンクするページを何とか返したいと思っています。
ユーザーは、複数のロールに存在する場合があります。ページは、それに対して複数のロールを持つことができます。
IQueryable の外部キー プロパティを持つ Page クラスがあります。PageRoles には、IQueryable to ASPNet Roles テーブル (IQueryable) と IQueryable があります。
ありがとう
編集:
Adam の回答を使用して、現在ログインしているユーザーのロールの 1 つと一致するロールが割り当てられているすべてのページを取得すると、問題が追加されます。PageID 外部キーと CategoryID を持つ Menu テーブルがあります。
CategoryID が 4 のすべてのメニュー項目を返したいと思います。PageID を持つ項目については、ユーザーがロールに基づいてそのページを表示できるようにする必要があります。アダムのクエリはそれを行うと思います。したがって、必要なのはUNIONであり、PageIDがnullでCategoryIDが4のすべてのメニュー項目を返し、CategoryIDが4のすべてのメニュー項目を返し、現在のユーザーの役割がそのASPNetRoleにあるPage-> PageRole-> ASPNetRoleに参加します結果。