2016-09-29 68 views
0

这是我的代码(Model);使用MVC控制器实体框架创建控制器时的“不支持的上下文类型”。 MVC4

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创建一个控制器。我总是得到“不支持的上下文类型”错误。

Here is the screenshot for adding the controller.

+0

那些dbset属性需要嵌套在派生类中 – Nkosi

+0

究竟你是如何“创造一个控制器”一的DbContext? – Mats

回答

0

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; } 
} 
+0

仍为“不支持的上下文类型”错误。 – Nosbig

+0

更新您的问题,更详细地了解您如何获取上下文和模型设置 – Nkosi

+0

当我创建一个控制器时,这些是参数;模型类:AModel(MvcApplication4.Models),数据上下文类:XpsEntity(MvcApplication4.Models),视图:Razor。 – Nosbig

相关问题