2015-12-29 3 views
0

У меня есть существующая база данных, для которой я создал файл edmx. Теперь я пытаюсь подключить учетную запись AccountController по умолчанию к этой базе данных и реализовать функции входа/регистрации, но она не работает.Использование DefaultController MVC5 по умолчанию с существующей базой данных

Вещи, которые я попробовал -

Я попытался изменить контекст в IdentityModels.cs.

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
    { 
     public ApplicationDbContext() 
      : base("MyConnection") 
     { 
     } 
    } 

Ошибка. Тип объекта ApplicationUser не является частью модели для текущего контекста.

Затем я попытался либо это

public partial class myEntities : IdentityDbContext<ApplicationUser> 
     { 
      public myEntities() 
       : base("name=myEntities ") 
      { 
      } 
    ... } 

It DInt работы.

  1. Может кто-нибудь помочь мне с шагами, связанными с подключением моей текущей базы данных к контроллеру учетной записи по умолчанию.
  2. Должен ли я создавать таблицы в базе данных самостоятельно или будет создан?

Заранее спасибо.

ответ

1

Зачем вам нужен IdentityDbContext, если вы решили использовать EDMX? EDMX предоставляет все необходимое для работы с существующей базой данных: строка подключения находится в контексте web.config, db, всех объектах данных и операциях CRUD LINQ. В таком случае я бы назвал их непосредственно из любого контроллера, как это:

using (var myEntities = new MyEntities()) 
{ 
     var users = from u in myEntities.Users 
         where u.id == 1 
         select u; 
} 

В таком случае ваши таблицы, а также база данных должна существовать в противном случае вы должны реализовать code first approach.