• 1400/08/25
  • 0
  • 159
1400/08/25 |
backend
asp
c-sharp
asp-net-core

مشکل کوئری در Identity

سلام دوستان خسته نباشید.

من طبق ویدیوی آموزشی دوره ستارگان Asp پیش می رفتم داخل بخش Identity وقتی می خوام با متد FindByEmailAsync، یک یوزر رو پیدا کنم با چنین خطایی مواجه می شم. تا جایی که دقت کردم مشابه سورس کد نوشتم. کسی از دوستان می تونه راهنمایی کنه؟

ورودی مقدار درستی داره و داخل دیتابیس هم هستش.

public IActionResult ForgotPassword(ForgotPasswordConfirmationDto forgot)
        {
            if (!ModelState.IsValid)
            {
                return View(forgot);
            }

            var user = _userManager.FindByEmailAsync(forgot.Email).Result;
            if (user == null || !_userManager.IsEmailConfirmedAsync(user).Result)
            {
                ViewBag.Message = "خطایی رخ داده است";
                return View();
            }


سلام

احتمالا شما در قسمتی از برنامه فیلد NormalizeEmail رو از جدول user برداشتید 

این فیلد در جدول هنگام ایجاد کاربر ایمیل کاربر را بصورت حروف بزرگ در میاره و داخل این فیلد نگهداری میکنه و زمانی که شما بخواهید با ایمیل جستجو انجام بدید میره سراغ این فیلد و با حروف بزرگ ایمیل ارسالی چک میکنه و چون نمیتونه این فیلد و در جدول پیدا کنه این خطا رو میده

شما اون قسمت از برنامه که این فیلد و ignore کردید برش گردونید

بعد یک Update database بزنید

بعد برید توی دیتابیس و هر چند تا رکورد برای کاربر دارید و این فیلدش و با حروف بزرگ همان ایمیلش و قرار بدید درست میشه

 



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری