【发布时间】:2020-11-03 10:24:33
【问题描述】:
- 在 EF6 中,我可以使用
context.Database.sqlquery。为什么 EF Core 取消这个? - 我试图找到答案,但
context.user.FromInterpolated不允许选择单个字段。 (还是我使用了错误的方法?) - 这是我的代码。请给我一些建议,我可以解决这个问题。
[HttpPost]
[Obsolete]
public async Task<IActionResult> SendEmail()
{
Email email = new Email();
var ID = HttpContext.Request.Form["ID"].ToString();
var Title = HttpContext.Request.Form["Title"].ToString();
var Body = HttpContext.Request.Form["Body"].ToString();
var Emails = context.user.FromSqlInterpolated($"select email from user where UserId in({ID})");
foreach (var item in Emails)
{
if (!string.IsNullOrEmpty(item.Email))
{
email.Send(item.Email, Title, Body);
}
}
await HttpResponseWritingExtensions.WriteAsync(this.Response, "success");
return RedirectToAction(nameof(Index));
}
【问题讨论】:
-
为什么?你为什么不做 context.user.where(u=>u.UserId == ID).Select(u=>u.email).FirstOrDefault?
-
@Volodymyr Bilyachat ID 类型是"(1,2,3,4)",所以我不能使用它
标签: entity-framework asp.net-core .net-core asp.net-core-mvc ef-core-3.1