Asp.net mvc ASP.Net MVC添加控制器错误
当我尝试添加“MOVIES”控制器时,它出错:“生成“MvcMovieSF.Models.MovieDBContext”时出错。尝试重建项目” 我已经重建了该项目,它继续错误。提前感谢Asp.net mvc ASP.Net MVC添加控制器错误,asp.net-mvc,Asp.net Mvc,当我尝试添加“MOVIES”控制器时,它出错:“生成“MvcMovieSF.Models.MovieDBContext”时出错。尝试重建项目” 我已经重建了该项目,它继续错误。提前感谢 namespace MvcMovieSF.Models { public class Movie { public int ID { get; set; } public string Title { get; set; } public DateT
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服务没有启动;我没有在这台计算机上启动服务的权限。这可能是原因吗?在ASP.NET MVC 4中添加新控制器时,我遇到了同样的问题,我通过移动
Database.SetInitializ解决了这个问题er(新的SomeDataContextInitializer())
来自Global.asax.cs中DBContext to Application_Start方法的构造函数。希望有帮助。添加控制器也会修改您的上下文类。如果您已经实现了部分类
将一些业务规则添加到您的上下文中,则框架无法成功编辑您的部分类以找到正确的点它自己的插入
不过,删除业务规则可能会有帮助。创建控制器后,您可以将其放回原处
(至少,这对我来说是有效的,10分钟前…)
编辑:
上下文类的部分实现方式如下:
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
}
公共部分类MyDatabaseEntities:DbContext
{
公共覆盖int SaveChanges(){…}
public DbSet MyModelClass{get;set;}//删除此行
}
希望这有帮助。@Bolt Thunder让我走上了正确的道路。在我的例子中,DbContext类被修改为有IDbSet进行测试,这就实现了。更改了-问题解决了。我的项目名为MVC,我有这个类
public class download
{
public int download_id { get; set; }
public int download_category_id { get; set; }
public string download_name { get; set; }
public int download_size { get; set; }
public string download_description { get; set; }
public string download_path { get; set; }
public download_category download_category { get; set; }
}
public class download_category
{
public int download_category_id { get; set; }
public string download_category_name { get; set; }
}
public class DownloadDbContext : DbContext
{
public DbSet<download> downloads { get; set; }
public DbSet<download_category> download_categorys { get; set; }
}
及
及
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Data.Entity;
名称空间MVC.Models
{
公共类DownloadDbContext:DbContext
{
公共数据库集下载{get;set;}
公共数据库集下载_分类{get;set;}
}
}
我遇到了与Susan相同的问题。在我的例子中,在上下文类中指定DbSet(公共DbSet Movies
)的模型类型修复了这个问题。
我正在使用VS 2012,并将Entity Framework 5.0包添加到解决方案中。此解决方案在Visual Studio 2013预览版中仍然有效。我只是在计划放置扩展的项目中添加了一个空的公共部分类MyDatabaseEntites:DbContext。临时删除部分类修复了它。是的,这是我的问题。希望t错误信息说明了为什么它不起作用。我只是把所有的部分内容都转移到扩展方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MVC.Models;
using System.ComponentModel.DataAnnotations;
namespace MVC.Models
{
public class Download
{
[Key]
public int download_id { get; set; }
public int download_category_id { get; set; }
public string download_name { get; set; }
public int download_size { get; set; }
public string download_description { get; set; }
public string download_path { get; set; }
public Download_category download_category { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace MVC.Models
{
public class Download_category
{
[Key]
public int download_category_id { get; set; }
public string download_category_name { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MVC.Models
{
public class DownloadDbContext:DbContext
{
public DbSet<Download> downloads { get; set; }
public DbSet<Download_category> download_categorys { get; set; }
}
}