C# 具有的SQL Linq包含列表中的项
这是我的密码:C# 具有的SQL Linq包含列表中的项,c#,linq,C#,Linq,这是我的密码: CommissionCalculationDataContext dc = new CommissionCalculationDataContext(); CrossAppDataContext dc2 = new CrossAppDataContext(); List<Group_ADUser_Mapping> mapList = (from a in dc.Group_ADUser_Mappings where a.GroupID == '3' select a)
CommissionCalculationDataContext dc = new CommissionCalculationDataContext();
CrossAppDataContext dc2 = new CrossAppDataContext();
List<Group_ADUser_Mapping> mapList = (from a in dc.Group_ADUser_Mappings where a.GroupID == '3' select a).ToList();
List<ADUser> userList = (from a in dc2.ADUsers where mapList.Contains(a.sAMAccountName) select a).ToList(); //doesnt work
CommissionCalculationDataContext dc=new CommissionCalculationDataContext();
CrossAppDataContext dc2=新的CrossAppDataContext();
List mapList=(从dc.Group_ADUser_映射中的a开始,其中a.GroupID='3'选择a).ToList();
List userList=(从mapList.Contains所在的dc2.ADUsers中的a中选择a.ToList()//不起作用
目标是,我得到了一个映射列表,然后只需要得到这个映射列表中的用户(通过SAMAccountName)
错误是:有过载问题
因此,事实上我想比较
Group\u ADUser\u Mappings.sAMAccountName
与ADUser.sAMAccountName
您能将这两个实体合并并选择您的ADUser吗
List<ADUser> userList = (from a in dc2.ADUsers
join b in dc.Group_ADUser_Mappings on a.sAMAccountName equals b.sAMAccountName
where b.GroupID == "3"
select a).ToList();
List userList=(来自dc2.ADUsers中的a)
在a.sAMAccountName等于b.sAMAccountName的dc.Group_ADUser_映射中加入b
其中b.GroupID==“3”
选择一个.ToList();
试试看
它是如何工作的?因此
Group\u ADUSER\u Mappings
还有一个属性sAMAccountName
?用进一步的信息编辑它不100%确定是否可以加入不同的数据上下文-如果不能,则可以将其加入到已有的映射列表中
List<String> mapList = dc.Group_ADUser_Mappings.Where(x => x.GroupID == '3').Select(y => y.sAMAccountName).ToList();
List<ADUser> userList = dc2.ADUsers.Where(x => mapList.Contains(x.sAMAccountName)).ToList();
userList = userList.Where(x => mapList.Any(y => y.sAMAccountName == x.sAMAccountName)).ToList();