使用Linq C#从数据库列获取值

时间:2019-11-22 17:07:47

标签: linq

+----+------+------+-----+
| ID | Name | Pass | Age |
+----+------+------+-----+
| 1  | Alex | .... | 12  |
+----+------+------+-----+

我有一张上面的桌子 如何使用Age通过Name获得LinQ lambda并将结果存储在变量中

喜欢这个:

var test= db.Users.Where(x => x.Name == ...).FirstOrDefault();

1 个答案:

答案 0 :(得分:1)

关注应该对您有用

var age = db.Users.Any(x => x.Name == someName)?db.Users.First(x => x.Name == someName).Age:0;

如果找不到记录,以上代码将确保默认值为0。

如果找不到记录,您也可以引发一个自定义异常。例如,

var age = db.Users.Any(x => x.Name == someName)?db.Users.First(x => x.Name == someName).Age:throw new Exception("User not found");

如果要减少往返行程,可以这样做

var age = users.FirstOrDefault(x => x.Name == "someName")?.Age??throw new Exception("User not found");