【问题标题】:linq query on multiple columns from a list of objects对对象列表中的多个列进行 linq 查询
【发布时间】:2019-06-14 17:49:35
【问题描述】:

我有一个配置对象列表,其中包含三个字段:类型、最小值和最大值。我还有一个活动表,其配置存储在配置表中。 Campaign 配置表包含四列:type、minvalue、maxvalue 和campaignid。我想从用户的配置列表中加入配置表来选择最合适的活动?谁能告诉我如何使用 linq 做到这一点?

Domain Entity Models:

public class Configuration
{
    public int Type { get; set; }       

    public string Value { get; set; }

    public string ValueMax { get; set; }    

    public Campaign Campaign { get; set; }        
}

public class Campaign
{
    public long Id { get; set; }
    public ICollection<Configuration> Configuration { get; set; }
}

Client Request Models:

public class FiltersVM
{
    public int type { get; set; }
    public string Value { get; set; }
    public string ValueMax { get; set; }
}

public class FilterRequest
{ 
    public List<FiltersVM>  Filters { get; set; }
}

我需要一个与以下配置完全匹配的广告系列 ID 列表 1、2、3

【问题讨论】:

  • 您是否尝试过任何查询来实现此目的?
  • 你的代码是循环的。配置 => 活动和活动 => 配置。
  • 什么是“用户配置列表”?

标签: c# list linq collections


【解决方案1】:

好的,那么您想要找出哪些广告系列具有特定配置,对吧? 您可以选择所有满足您查询的配置,然后导航到其 Campaign。

Configuration.Where(c=> c.Type == type && Value == value && ValueMax == valueMax).Select(c=> c.Campaign.Id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    相关资源
    最近更新 更多