MySqlContext 如何将查询写入变量

MySqlContext how to write query to variable

我有一个 Mysqlcontext,我正在从中进行查询。但是,我不知道这些查询是如何工作的,因为我通常会进行标准调用,例如"select from where"。

这些略有不同,在这种情况下,我尝试从我的 db.Users 中获取一个 ID。不幸的是,它不能将我的 UserId 写入变量?

var id = db.Users.Where(u => u.Email == email).Select(u => u.UserId);

只是 returns 无效。这是如何正确完成的,我在哪里可以找到更多关于这些查询如何工作的文档?

这是我更新后的代码:

var id = db.Users.Where(u => u.Email == email).Select(u => u.UserId);
var materializeId = id.ToList();
int UserId = materializeId[0];

这似乎确实有效。然而,当只有 1 个匹配 ID 时,我仍然感到困惑,我必须从列表中获取我的项目? (在所有情况下都会有)

我不能以某种方式只查询一个 id 并将其写入一个 int 变量吗?

我会这样做:

var userId = (from u in db.Users where u.Email == email select u.Id).FirstOrDefault();