数据库表
create table SuperuserInfo--权限管理

SuperuserInfo_Id int primary key identity(1,1), --权限ID
DpmID int foreign key references DepartmentManagement(DpmID)not null,--部门
JmgID int foreign key references JobManagement(JmgID), --职位
SuperuserInfo_Poslition varchar(40), --职位(部门+职位)
SuperuserInfo_PrivilegeDescribe varchar(150) not null, --权限描述
MenuManagementInfo_Id int foreign key references MenuManagementInfo(MenuManagementInfo_Id) not null,--权限编号
SAddWordO varchar(20) null,                          --预留字段1
SAddWordT varchar(20) null                           --预留字段2
)
      
var sup = ctx.SuperuserInfo.ToList();
            List<SuperuserInfo> list = new List<SuperuserInfo>();
            foreach (var item in sup)
            {
                var key = item.SuperuserInfo_Poslition;
                var userlist = (from user in ctx.SuperuserInfo
                                where user.SuperuserInfo_Poslition(key)
                                select user).Distinct();
            }
key报错。。
这个我该怎么去掉SuperuserInfo_Poslition重复的数据?

解决方案 »

  1.   

    group by  user.SuperuserInfo_Poslition
      

  2.   

    var SuperuserInfo_Poslitions=ctx.SuperuserInfo.Select(s=>s.SuperuserInfo_Poslition).Distinct().ToList();
    这样得到所有的名称 
      

  3.   

      var SuperuserInfo_Poslitions = ctx.SuperuserInfo.Select(s => s.SuperuserInfo_Poslition).Distinct().ToList();
                List<SuperuserInfo> list = new List<SuperuserInfo>();            for (int j = 0; j < SuperuserInfo_Poslitions.Count; j++)
                {
                    list.Add(ctx.SuperuserInfo.FirstOrDefault(s => s.SuperuserInfo_Poslition == SuperuserInfo_Poslitions[j].ToString()));
                }