日期:2014-05-20  浏览次数:20879 次

求助关于linq查询的问题(急),需要你的帮助
现在遇到一个问题,可能是我对linq不熟悉的原因吧,希望有人可以帮助我一下
问题如下:
查询条件是一个字符串,但是这个字符串是有多个组合的,例如:name="xiaoli,xiaowang,xiaozhang";
如何写一个linq查询语句,查询出符合name条件的所有数据!!!
我现在的不知道该怎么写这个linq语句

我的思路是
1、把name分解
name1=name.split(',');
2、本来想组合一个语句,用sql比较好实现,但是用linq不会实现了
for(int i=0;i<name.count();i++)
{
  query=from a in 数据表 where a.name.Contains(name1[i]) select a;
}
可是这样不能实现,郁闷中,求助!!!


------解决方案--------------------
var query=from a in 数据表
let temp=name.split(',')
where temp.Contains(a.name)
select a;
------解决方案--------------------
EASY:


var query=from a in 数据表
from b in name.split(',')
where a.name.Contains(b)
select a;

或者这样:

var query=from a in 数据表 
where name.split(',').Any(b=>a.name.Contains(b))
select a;