我得到以下
的结果string[] proj = Pid.Split(',');
" 1032,1222" - > [0] = 1032,[1] = 1222
但我想在LINQ查询中使用。这是我的LINQ查询。在哪里使用它以及如何使用它?
string[] proj = Pid.Split(',');
var data2 = (from p in Db.emp.AsEnumerable()
join r in Db.use on p.EmployeeId equals r.EmployeeId
join q in Db.proo on p.EmployeeId equals q.EmpId
where (q.IsDelete == false && p.IsDelete == false && p.RoleID != 1 && p.RoleID != 2 && q.ProId == Convert.ToInt32(Pid))
select new GroupSelectedModel {
Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(p.FirstName + " " + p.LastName),
Value = r.UserId.ToString(),
StatusId = Convert.ToInt32(p.Status)
})
.Distinct().ToList().OrderBy(r => r.Text);
return data2.OrderBy(p => p.StatusId).ToList();
请检查上述代码。
答案 0 :(得分:0)
当您需要IN
时,您必须将其反转,然后使用Contains()
。你的帖子不是很清楚,但我认为你要的是这样的(请注意你需要使用List
代替数组):
List<string> proj = new List<string>(Pid.Split(','));
where (q.IsDelete == false && p.IsDelete == false && p.RoleID != 1 && p.RoleID != 2 && proj.Contains(q.ProId))