【问题标题】:Using C# Entity Framework find a value based on 2 high low column values使用 C# Entity Framework 根据 2 个高低列值查找值
【发布时间】:2023-01-20 23:34:08
【问题描述】:

如果我的数据库表中的输入值介于 MinIncome 和 MaxIncome 之间,我想找到 Amount db 字段值。因此,例如,如果输入为 1525,介于 1500 和 1599 之间,我希望返回值为 75。
如何为此编写 Linq 或 Lambda 语句?请看屏幕截图。

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    尝试这个:

    var result = await DbContext
                         .Table
                         .Where(x => x.MinIncome <= value && value <= x.MaxIncome)
                         .Select(x => x.Amount).FirstOrDefaultAsync();
    

    【讨论】:

      【解决方案2】:
      int income = 1525;
      int amount = dbContext
          .MyDbSet // use DbSet Property here
          .Single(x => x.MinIncome < income && x.MaxIncome > income)
          .Amount;
      

      这将选择满足条件的唯一元素,并返回该对象的数量。

      您也可以使用 .Where(x =&gt; x.MinIncome &lt; income &amp;&amp; x.MaxIncome &gt; income).Single().Amount 来获得完全相同的结果。

      【讨论】:

        猜你喜欢
        • 2021-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-30
        • 2022-12-06
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多