Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用实体框架获取唯一行_Mysql_Linq_Entity Framework_C# 4.0 - Fatal编程技术网

Mysql 使用实体框架获取唯一行

Mysql 使用实体框架获取唯一行,mysql,linq,entity-framework,c#-4.0,Mysql,Linq,Entity Framework,C# 4.0,我使用3个表为用户设置角色 1.模块 身份证,姓名 2.行动 Id、名称、ModuleId(带模块的外键) 3.用户操作 Id、UserId、ActionId(带操作的外键) 我想从userActions表中获取用户的唯一模块列表。我使用的是实体框架,我的数据库是Mysql 我使用了这个查询 var result = (from p in my_accountEntities.useractions where p.UserId == item.Id

我使用3个表为用户设置角色

1.模块 身份证,姓名

2.行动 Id、名称、ModuleId(带模块的外键)

3.用户操作 Id、UserId、ActionId(带操作的外键)

我想从userActions表中获取用户的唯一模块列表。我使用的是实体框架,我的数据库是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;

        }
var result=(来自my_accountEntities.useractions中的p
其中p.UserId==item.Id
选择p.action.module).ToList();
列表模块=新列表();
如果(结果!=null)
{
模块=(列表)结果;
}
它不会返回唯一的列表,而是返回Useraction表中的所有行。
如何获取模块的唯一列表(基于moduleId)

请尝试使用linq
.Distinct()
扩展方法

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

是的,它对我有用:)。还有一件事要问,在EntityFramework中使用Mysql有什么已知的局限性吗?我只在一个项目中使用过Mysql,但我们没有遇到任何重大问题,最好作为另一个问题提出来,让其他有更多经验的人回答。