首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于LINQ的子查询,该怎么解决

2012-01-23 
关于LINQ的子查询C# code var query (from entity in ctx.Base_Commodity_Manufacturer where entity.Is

关于LINQ的子查询

C# code
 var query = (from entity in ctx.Base_Commodity_Manufacturer where entity.IsDelete == false orderby entity.CreateTime descending select entity);


这是我的查询语句。
我从页面会取出id,存入字符串变量str中,结果就是这样:
string str = "1,5,11,15"; //会得到随机的编号
我想在query中直接使用str进行子查询,
就是sql语句一下
where id in str
在linq中应该如何去写呢?

[解决办法]
string str = "1,5,11,15";
var query = from entity in ctx.Base_Commodity_Manufacturer 
where entity.IsDelete == false && str.Split(',').Contains(entity.id)
orderby entity.CreateTime descending 
select entity;

[解决办法]
掉了一个括号,改进如下:
C# code
string str="1,5,11,15";var query = (from entity in ctx.Base_Commodity_Manufacturer               where entity.IsDelete == false && str.Split(',').Any(c => c == entity.id)              orderby entity.CreateTime descending               select entity); 

热点排行