在选择DbContext的MVC5和EF View Scaffolding中获取错误

时间:2017-11-29 21:04:37

标签: c# asp.net-mvc entity-framework asp.net-mvc-5

我将MVC项目放在一个程序集中,Data Project包含另一个程序集中的DbContext类,其中Entity / Model类是同一解决方案中的另一个。

每当我尝试使用DbContext菜单创建带有脚手架的View时,选择DbContext继承的类,我得到此运行时错误:

  

运行所选代码生成器时出现问题"对象引用未设置为对象实例"

控制器类:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
    public ActionResult About()
    {
        ViewBag.Message = "Your application description page.";
        return View();
    }
    public ActionResult Contact()
    {
        ViewBag.Message = "Your contact page.";
        return View();
    }
    [HttpGet]
    public ActionResult Login()
    {
        return View();
    }
    [HttpPost]
    public ActionResult Login(string username, string password)
    {
        return View();
    }
}

DbContext类:

public class BlogDbContext : DbContext
{
    public DbSet<Login> Logins { get; set; }
    public DbSet<User> Users { get; set; }
    public DbSet<Role> Roles { get; set; }
    public DbSet<Permission> Permissions { get; set; }
    public DbSet<Blog> Blogs { get; set; }
    public DbSet<BlogCatagory> BlogCatagories { get; set; }
    public DbSet<BlogType> BlogTypes { get; set; }
    public DbSet<Comment> Comments { get; set; }

    public BlogDbContext() :base("name=MVPDB")
    {
    }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
    }
}

现在假设,我想创建一个View with Login with Edit并选择了DbContext类我弹出一个窗口说:

  

运行所选代码生成器时出现问题&#34;对象引用未设置为对象实例&#34;

1 个答案:

答案 0 :(得分:0)

由于实体模型而发生此错误。

我建议您删除并重新创建用于创建此视图的实体数据模型

  • 重新创建
  • 重建解决方案
  • 尝试重新创建视图
希望它有所帮助。