Linq怎么去掉重复名称的数据?
数据库表
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重复的数据?
------解决方案--------------------group by user.SuperuserInfo_Poslition
------解决方案--------------------var SuperuserInfo_Poslitions=ctx.SuperuserInfo.Select(s=>s.SuperuserInfo_Poslition).Distinct().ToList();
这样得到所有的名称
------解决方案-------------------- 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()));
}