0

ユーザーの役割を設定するために 3 つのテーブルを使用しています。

1.モジュール

ID、名前

2.アクション

Id 、 Name 、ModuleId (モジュールの外部キー)

3. ユーザーアクション

Id,UserId,ActionId (アクションを含む外部キー)

userActions テーブルからユーザーのモジュールの一意のリストを取得したいと考えています。私はEntity Frameworkを使用しており、私のデータベースはMysqlです。クエリを使用しました

var result = (from p in my_accountEntities.useractions
                      where p.UserId == item.Id
                      select p.action.module).ToList();

        List<module> modules = new List<module>();
        if (result != null)
        {
            modules = (List<module>)result;

        }

Unique list を返すのではなく、 Useraction テーブルのすべての行を返します。モジュールの一意のリストを取得するにはどうすればよいですか (moduleId に基づく)

4

1 に答える 1

0

linq.Distinct()拡張メソッドを使用してみてください

var result = (from p in my_accountEntities.useractions
                  where p.UserId == item.Id
                  select p.action.module)
                  .Distinct().ToList();
于 2013-09-12T04:17:41.513 に答える