Тип сущности ApplicationUser не является частью модели для текущего контекста. Использовал две разные базы данных в начале проекта

Я создал приложение MVC 4, использующее инфраструктуру сущностей для чтения и записи данных в базу данных, которую я размещаю в базе данных Azure. База данных Azure должна была хранить данные приложения и данные для входа в приложение.

Однако, когда я впервые создал приложение, я забыл удалить строку подключения к моей локальной машине. Поэтому я создал приложение, которое использовало две разные базы данных в двух разных местах. Одна база данных была для данных приложения (Azure), а другая база данных была для данных входа в систему (Local).

Поскольку я хочу опубликовать это приложение в Azure, я хочу использовать базу данных Azure для приложения и информацию для входа в систему и полностью исключить базу данных моего локального компьютера.

Я начал этот процесс, сначала удалив строку подключения для моей локальной базы данных из файла web.config приложения.

Затем я изменил класс ApplicationDBContext в IdentityModels.cs, чтобы отразить изменения ниже ...

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("AbacusEntities", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

После внесения этих изменений я очистил решение, перестроил его и запустил на своем компьютере. При попытке войти в систему (что в любом случае было бы неудачно в этот момент), я получаю эту ошибку: «Тип сущности ApplicationUser не является частью модели для текущего контекста». в коде ниже в файле AccountController.cs. Строка, отмеченная «***», является строкой, в которой вызывается ошибка.

public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        ***var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return View(model);
        }
    }

Кроме того, при попытке зарегистрировать нового пользователя я получаю ту же ошибку в следующей строке кода в файле AccountController.cs в методе с именем «Register», который является методом POST, когда пользователь отправляет регистрацию пользователя.

var result = await UserManager.CreateAsync(user, model.Password);

Также см. Строку подключения из web.config ниже. Вся конфиденциальная информация была, конечно, удалена.

add name="AbacusEntities" connectionString="metadata=res://*/Models.AbacusModel.csdl|res://*/Models.AbacusModel.ssdl|res://*/Models.AbacusModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source={Azure server};initial catalog={database name};user id={Database User};password={Password};MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" 

Я просмотрел многочисленные посты, но не могу найти никакой полезной информации. Я думал, что следующим шагом будет перенос таблиц, которые я создал, из моей локальной базы данных для учетных записей пользователей в базу данных Azure, но я не совсем уверен, что это сработает.

Я бы предпочел создать эти таблицы в базе данных Azure и использовать Visual Studio для проверки подлинности.

При первом входе в систему с использованием двух разных баз данных процесс входа работал нормально, но теперь мне нужно получить таблицы для данных входа, которые будут сгенерированы в Azure.

Мы высоко ценим вашу помощь, и, пожалуйста, дайте мне знать, если вам нужна дополнительная информация!

Обновление из комментариев:

Класс ApplicationUser определен в файле IdentityModel.cs. Ниже класс.

public class ApplicationUser : IdentityUser
{
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос