C#lambda Expression在where子句中

时间:2014-01-25 06:19:56

标签: c# sql-server-2008 lambda

我在使用C#和lambdas创建Where子句时遇到问题。

我有以下方法GetRecommendedstudents(Guid studId)

变量string filtersByRoles可以保存以逗号分隔的值,例如:“xp,windows,windows8或”xp,windows,windows8,windo“等。

然后我有以下C#lambda查询:

我需要通过比较2个字段来从数据库中获取数据。

enter code here  
 var student= DataContext.students.Find(studId);
 ex: var x = DataContext.students.Where(L => (L.job == student.studentJobLocation)).AsQueryable();

接下来我想要comapare学生知道os(“xp,windows,windows8)

 ex: var y = x.students.Where(L => (s => (s.jobOperaitngsys.Split(',') == student.studentknowOS)), StringSplitOptions.RemoveEmptyEntries);

如何将其与字段进行比较? jobOperaitngsys和studentknowOS

1 个答案:

答案 0 :(得分:1)

你应该使用包含。因为split返回字符串数组。

 s.jobOperaitngsys.Split(',').Contains(student.studentknowOS)