«Неподдерживаемый тип контекста» при создании контроллера с использованием MVC controller Entity Framework. MVC4

#c# #entity-framework #asp.net-mvc-4

#c# #entity-framework #asp.net-mvc-4

Вопрос:

Вот мой код (модель);

   public class XpsEntity
  {
    public DbSet<AModel> A { get; set; }
    public DbSet<TModel> T { get; set; }

    public class SDbContext : DbContext
    {
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<XpsEntity>().ToTable("Table1");
            modelBuilder.Entity<XpsEntity>().ToTable("Table2");

        }
    }
  

Мое кодирование неверно? Потому что каждый раз, когда я создаю контроллер с использованием MVC Controller Entity Framework. Я всегда получаю ошибку «Неподдерживаемый тип контекста».

Вот скриншот для добавления контроллера.

Комментарии:

1. Эти свойства dbset должны быть вложены в производный класс dbcontext

2. Как именно вы «создаете контроллер»?

Ответ №1:

DbSet свойства должны быть вложены в DbContext производный класс

 public class SDbContext : DbContext {
    protected override void OnModelCreating(DbModelBuilder modelBuilder) {
        modelBuilder.Entity<AModel>().ToTable("Table1");
        modelBuilder.Entity<TModel>().ToTable("Table2");
    }

    public DbSet<AModel> A { get; set; }
    public DbSet<TModel> T { get; set; }
}
  

Комментарии:

1. Обновите свой вопрос более подробной информацией о том, как у вас настроен контекст и модели

2. Когда я создаю контроллер, это параметры; Класс модели: AModel (MvcApplication4. Модели), класс контекста данных: XpsEntity(MvcApplication4. Модели), представления: Razor.

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