【发布时间】:2017-09-11 11:46:20
【问题描述】:
我尝试使用 LINQ 返回一个值,但我返回的是实际查询。
这是我的代码:
var email = from p in dbContext.People
where p.UserId == UserId
select new { p.Email };
Contact.Email = email.ToString();
我想获取用户的实际电子邮件地址,但我却取回了查询字符串。
"SELECT [Extent1].[UserId] AS [UserId], [Extent1].[Email] AS [Email]
FROM [dbo].[Person] AS [Extent1] WHERE [Extent1].[UserId] = @p__linq__0"
【问题讨论】:
-
选择 p.Email。新的 { .. } 有必要吗?
-
只是一个快速提示,您可以将此代码缩短为
dbContext.People.FirstOrDefault(p.UserId == UserId);,假设dbContext.People派生自IEnumerable。