C#如何根据两个列的值从数据表中查询单行数据?
基于多列值查询单行数据的实现方法
嗨!很高兴看到你已经掌握了单条件查询单行数据的技巧,要实现基于两个列的值的查询其实非常直观,只需要在SingleOrDefault的lambda表达式中用逻辑运算符将两个条件组合起来即可。
示例代码
假设你需要同时匹配FeatureName和另一个业务列(比如RuleCategory,你可以替换成自己实际需要的列名),代码可以写成这样:
var targetRow = db.AfrRules.SingleOrDefault(r => r.FeatureName == FeatureName && r.RuleCategory == TargetCategory);
关键说明
- 这里用
&&表示两个条件必须同时满足(逻辑“与”的关系);如果你的业务场景需要逻辑“或”,可以替换成||。 SingleOrDefault的行为和单条件查询时完全一致:找到唯一匹配的行就返回它,没有匹配项返回null,如果存在多个匹配的行会抛出InvalidOperationException异常。- 如果你不确定是否会出现多匹配的情况,又不想触发异常,可以考虑用
FirstOrDefault,它会返回第一个符合条件的行(无匹配则返回null)。
内容的提问来源于stack exchange,提问作者Mazin
相关产品推荐
相关产品推荐

