IdentityDbContext‹TUser› в Microsoft.AspNet.Identity.EntityFramework скрыть базовые конструкторы DbContext

Я использую Visual Studio 2013 RTM с asp.net mvc 5 Entity Framework Asp Net Identity provider. Я делаю следующее.

    public class MyContext : IdentityDbContext<MyUser>
    {
        public MyContext (DbCompiledModel model):base(model)
        {


        }    

        public DbSet<Foo> Foos{ get; set; }
        public DbSet<Bar> Bars{ get; set; }   

    }

и получаю ошибку времени компиляции в этой строке

public MyContext (DbCompiledModel model):base(model)

Класс IdentityDbContext скрыл все конструкторы DbContext. Есть ли обходной путь?


person taher chhabrawala    schedule 20.10.2013    source источник


Ответы (1)


IdentityDbContext имеет только два конструктора

  • Идентитидбконтекст()
  • IdentityDbContext (строка ConnectionString)

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

person jd4u    schedule 20.10.2013
comment
Есть ли другой способ использовать идентификатор asp.net без наследования с помощью IdentityDbContext? - person taher chhabrawala; 20.10.2013
comment
это плохой дизайн от майкрософт - person taher chhabrawala; 20.10.2013
comment
Платформы приложений, предоставляемые MS, учитывают наиболее полезные функции среднего уровня сложности. Для более сложных вариантов использования и требований к функциям в различных шаблонах вы всегда можете создать собственную версию этой платформы, используя ее интерфейсы. Сама реализация ASPNET.Identity.EntityFramework использует эти интерфейсы. - person jd4u; 20.10.2013