Я получаю эту ошибку, даже если проверил, и у меня есть этот параметр в моей базе данных:
Параметризованный запрос '(@UserName nvarchar (4000)) SELECT Email AS Email FROM AspNetUsers' ожидает параметр '@UserName', который не был предоставлен.
Это в моем AccountController:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> SendConfirmationMail() // resend confirmation link in case the users haven't received it
{
string res = null;
string connection = GetConnectionString("DefaultConnection");
using (SqlConnection myConnection = new SqlConnection(connection))
{
myConnection.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT Email AS Email FROM AspNetUsers WHERE UserName = @UserName";
cmd.Connection = myConnection;
cmd.Parameters.AddWithValue("@UserName", EConfUser);
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
if (reader.Read())
{
res = reader["Email"].ToString(); // get user's email from db
var user = await UserManager.FindByEmailAsync(res); // find applicationuser user by email
//update user's email link date
UpdateEmailLinkDate(EConfUser);
// generate email conf token and send it
codeType = "EmailConfirmation";
await SendEmail("ConfirmEmail", "Account", user, res, "WelcomeEmail", "Confirm your account");
}
myConnection.Close();
}
}
}
return RedirectToAction("ConfirmationEmailSent", "Account");
}
Буду благодарен за любую помощь.