【发布时间】:2023-01-20 23:34:08
【问题描述】:
如果我的数据库表中的输入值介于 MinIncome 和 MaxIncome 之间,我想找到 Amount db 字段值。因此,例如,如果输入为 1525,介于 1500 和 1599 之间,我希望返回值为 75。
如何为此编写 Linq 或 Lambda 语句?请看屏幕截图。
【问题讨论】:
标签: c# entity-framework
如果我的数据库表中的输入值介于 MinIncome 和 MaxIncome 之间,我想找到 Amount db 字段值。因此,例如,如果输入为 1525,介于 1500 和 1599 之间,我希望返回值为 75。
如何为此编写 Linq 或 Lambda 语句?请看屏幕截图。
【问题讨论】:
标签: c# entity-framework
尝试这个:
var result = await DbContext
.Table
.Where(x => x.MinIncome <= value && value <= x.MaxIncome)
.Select(x => x.Amount).FirstOrDefaultAsync();
【讨论】:
int income = 1525;
int amount = dbContext
.MyDbSet // use DbSet Property here
.Single(x => x.MinIncome < income && x.MaxIncome > income)
.Amount;
这将选择满足条件的唯一元素,并返回该对象的数量。
您也可以使用 .Where(x => x.MinIncome < income && x.MaxIncome > income).Single().Amount 来获得完全相同的结果。
【讨论】: