使用一个查询的Iqueryable列表结果作为另一个查询的参数?

时间:2015-07-16 04:34:13

标签: mysql asp.net-mvc linq

我是查询的新手,无法找到将查询结果列表用作其他查询的验证器的方法,这可能吗?

var query = from weather_variables in weather
where weather_variables.area == choice
select weather_variables.wind_speed;

这将从数据库中选择一组每月风速

var power_query = from wind_turbines in power
where wind_turbines.wind_speed = query
select wind_turbines.xxxxxx;

这里我想获得与列表中每个风速相匹配的记录,但由于它是一个集合而不是单个值,我无法以这种方式匹配,是否有另一种方式来形成此查询允许我使用查询输出进行验证吗?

编辑:我需要输出列表中的每个值,使用contains只给出我彼此不相同的值。即2个月具有相同的风速,仅给出第二个查询的一个输出

1 个答案:

答案 0 :(得分:1)

var query=weather.Where(w=>w.area==choice).Select(w=>w.wind_speed);
var power_query=power.Where(p=>query.Contains(p.wind_speed)).Select(p=>p.xxxxx);

加入:

var result=weather
  .Where(w=>w.area==choice)
  .Join(power,j1=>j1.wind_speed,j2=>j2.wind_speed,(j1,j2)=>j2.xxxx);