加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.Net MVC添加控制器错误

发布时间:2020-12-16 06:37:42 所属栏目:asp.Net 来源:网络整理
导读:当我尝试添加“MOVIES”控制器时,它出错:“生成’MvcMovieSF.Models.MovieDBContext时出错.尝试重建你的项目.“ 我重建了项目,但仍然出错.提前致谢! namespace MvcMovieSF.Models{ public class Movie { public int ID { get; set; } public string Title
当我尝试添加“MOVIES”控制器时,它出错:“生成’MvcMovieSF.Models.MovieDBContext时出错.尝试重建你的项目.“

我重建了项目,但仍然出错.提前致谢!

namespace MvcMovieSF.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }

    public class MovieDBContext : DbContext
    {
        public DbSet Movies { get; set; }
    }
}

只是注意:我没有坐在我自己的电脑上,我注意到SQLExpress服务没有启动;我没有在此计算机上获得启动服务的权限.这可能是原因吗?

解决方法

添加控制器还会修改上下文类.如果已实现部分类以在上下文中添加一些业务规则,则框架无法成功编辑部分类以查找其自身插入的正确点.

但是,愚蠢的是,删除业务规则可能会有所帮助.创建控制器后,您可以将它们放回原处.

(至少,这对我有用,10分钟前…)

编辑:

Context类可能部分实现如下:

public partial class MyDatabaseEntities : DbContext
{
    public override int SaveChanges() { ... }

    #region Some Business Rules Here 
    ...
    #endregion
}

在这里,如果您尝试添加新控制器,则会因错误而失败:“生成’MyDatabaseEntities’时出错.请尝试重建项目.”
重建根本无济于事……

我的解决方案是:

>删除这样的业务规则,当然,将它们保存在安全的地方,因为之后您可能需要它们:

public partial class MyDatabaseEntities : DbContext
{
    public override int SaveChanges() { ... }
}

>创建您的控制器.你这次应该成功.
>从上下文类中删除框架添加的代码:

public partial class MyDatabaseEntities : DbContext
{
    public override int SaveChanges() { ... }

    public DbSet<MyModelClass> MyModelClass { get; set; }  // remove this line
}

>重新制定业务规则.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读