【问题标题】:Using the Iqueryable list result from one query as the parameter for another?使用来自一个查询的 Iqueryable 列表结果作为另一个查询的参数?
【发布时间】:2015-07-16 04:34:12
【问题描述】:

我是查询的新手,找不到将查询结果列表用作另一个查询的验证器的方法,这可能吗?

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;

在这里,我想获取与列表中每个风速匹配的记录,但作为一个集合而不是单个值,我无法以这种方式匹配 where,是否有另一种方法可以形成这个查询是否允许我使用查询输出进行验证?

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

【问题讨论】:

    标签: mysql asp.net-mvc linq


    【解决方案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);
    

    【讨论】:

    • 这可行,但它会删除相同的值,有 12 个风速,每个月一个,我需要下一个查询的 12 个输出,无论它们是否相同.不过谢谢你,为了清楚起见,编辑不当
    • 那么你真的应该加入 - 更新答案。
    猜你喜欢
    • 2019-04-24
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    相关资源
    最近更新 更多