如何从查询中获得变量
本文关键字:变量 查询 | 更新日期: 2023-09-27 18:03:18
我的查询:
var query = from d in db.Users
where user.UserName == d.UserName && user.Password == d.Password
select d;
现在我知道一个事实,查询要么为空(如果用户凭证不匹配),要么只返回一个用户。我现在的问题是,我想访问那个用户的变量。怎么做呢?我试过使用这行代码:
foreach (var item in query)
{
Session["id"] = item.ID;
Session["name"] = item.UserName;
Session["type"] = item.Type;
}
但是它导致我的程序崩溃(我知道查询不是空的,所以这不是问题)。
如果集合为空,您可以使用SingleOrDefault
通常返回null
,但如果TSource
将其他内容定义为默认值,它也可以返回其他内容,因此请谨慎使用。
var user = (from d in db.Users
where user.UserName == d.UserName && user.Password == d.Password
select d).SingleOrDefault();