我正在按照以下链接中显示的教程进行操作:
Creating an Entity Framework data model for ASP.NET MVC application
但是在运行应用程序时,会出现以下异常:
System.IO.FileNotFoundException:无法加载文件或程序集“Vag_Infotech”或其依赖项之一。系统找不到指定的文件。
我的web.config文件如下:
<connectionStrings>
<add name="CollegeDbContext" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=VInfotech;Integrated Security=SSPI" providerName="System.Data.SqlClient"/>
</connectionStrings>
<contexts>
<context type="Vag_Infotech.DAL.CollegeDbContext, Vag_Infotech">
<databaseInitializer type="Vag_Infotech.DAL.CollegeDatabaseInitializer, Vag_Infotech"></databaseInitializer>
</context>
</contexts>
CollegeDbContext课程:
namespace Vag_Infotech.DAL
{
public class CollegeDbContext : DbContext
{
public CollegeDbContext()
: base("CollegeDbContext")
{
}
public DbSet<Student> Students { get; set; }
public DbSet<Course> Courses { get; set; }
public DbSet<Enrollment> Enrollments { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
StudentController.cs类中出现异常:
答案 0 :(得分:6)
好消息,
我解决了我的问题。我从Global.asax
文件初始化了我的DatabaseInitializer。看看下面的代码:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Database.SetInitializer(new CollegeDatabaseInitializer());
}
}
我只是在CollegeDatabaseInitializer()
中初始化Application_Start()
。但请注意,从<contexts>
文件中删除Web.Config
。感谢。
答案 1 :(得分:0)
以管理员身份运行Visual Studio 2012的开发人员命令提示符,然后对其运行命令。