Francesco Bigi Ответов: 2

Не удалось зарегистрировать или войти в систему пользователя (ошибка сервера в '/'.)


- Привет!
У меня есть созданный проект MVC, связанный с моей базой данных управления SQL.

Когда я выполняю свое приложение и пытаюсь войти в систему или создать нового пользователя, у меня возникает ошибка:
Server Error in '/'.

Invalid column name 'Email'.
Invalid column name 'EmailConfirmed'.
Invalid column name 'PhoneNumber'.
Invalid column name 'PhoneNumberConfirmed'.
Invalid column name 'TwoFactorEnabled'.
Invalid column name 'LockoutEndDateUtc'.
Invalid column name 'LockoutEnabled'.
Invalid column name 'AccessFailedCount'.

Description: An unhandled exception occurred during the execution of the current web request. For more information about the error and where it originated in the code, see the stack trace. 

Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'Email'. 
Invalid column name 'EmailConfirmed'. 
Invalid column name 'PhoneNumber'. 
Invalid column name 'PhoneNumberConfirmed'. 
Invalid column name 'TwoFactorEnabled'. 
Invalid column name 'LockoutEndDateUtc'. 
Invalid column name 'LockoutEnabled'. 
Invalid column name 'AccessFailedCount'. 

Source Error: 


Riga 46:             if (ModelState.IsValid)
Riga 47:             {
Riga 48:                 var user = await UserManager.FindAsync(model.UserName, model.Password);
Riga 49:                 if (user != null)
Riga 50:                 {

File di origine: c:\Users\newbreaker\Desktop\Examen Web 2017\WebProjet2\WebProjet2\Controllers\AccountController.cs    Riga: 48 


Что я упускаю?

Что я уже пробовал:

// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
    if (ModelState.IsValid)
    {
        var user = await UserManager.FindAsync(model.UserName, model.Password);
        if (user != null)
        {
            await SignInAsync(user, model.RememberMe);
            return RedirectToLocal(returnUrl);
        }
        else
        {
            ModelState.AddModelError("", "Invalid username or password.");
        }
    }

    // If we got this far, something failed, redisplay form
    return View(model);
}


На моем Веб.конфиг У меня есть:
<connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=NEWBREAKER12\SQL2014;Initial Catalog=WebShop;Integrated Security=True" providerName="System.Data.SqlClient" />
<appSettings>


На моем Модели -> IdentityModels У меня есть:
public ApplicationDbContext()
    : base("DefaultConnection", throwIfV1Schema: false)
{
}

2 Ответов

Рейтинг:
20

OriginalGriff

Проверьте свою БД: она говорит, что имена столбцов, которые она перечисляет, не существуют в таблице, к которой вы пытаетесь получить доступ.
Поэтому начните с проверки правильности строки подключения для этой конкретной версии БД и сверьте определение таблицы с вашей моделью.


Francesco Bigi

Спасибо Вам за ответ OriginalGriff;
Я создал новую БД, снова сделал проект и теперь работаю.
Похоже, что я слишком много раз изменял его, и он не узнавал таблицы.

:)

OriginalGriff

Легко сделать - пожалуйста!

Рейтинг:
2

Francesco Bigi

Thank you for you answer OriginalGriff;
I created a new db an made again the project and now is working.
It seem that I have modified too many times and it wasn't recognising the tables.

:)