编程语言
首页 > 编程语言> > c#-尝试创建ASP.NET MVC 4控制器时出现FileNotFound异常

c#-尝试创建ASP.NET MVC 4控制器时出现FileNotFound异常

作者:互联网

我正在尝试仅使用SQL Server 2008而不是CE遵循Contoso University tutorial.我可以使用PC的名称和Windows身份验证连接到SQL Server Management Studio中的数据库引擎.我尚未使用它创建数据库,因为我正在尝试使用EF Code First.

这是我的连接字符串:

<add 
      name="SchoolContext" 
      connectionString="Data Source=CARSON-PC\CARSON;Integrated Security=true" 
      providerName="System.Data.SqlClient"/>

我尝试通过右键单击controllers文件夹并选择Add-> Controller …并根据教程设置结果对话框来添加控制器.我结束时出现一个对话框,告诉我抛出了FileNotFoundException,并且该文件是一个临时dll:

该对话框抛出了五次(我假设每个生成的模板文件一次),最后我得到一个控制器,但没有生成的模板.

我怀疑这与我的连接字符串或我的SQL Server安装有关,因为我被卡在这上面了一段时间,在尝试正确设置连接字符串时,在此阶段会出现各种错误.

为了完整起见,这是我试图为以下对象生成控制器的模型:

public class Student {
    public int StudentID { get; set; }
    public string LastName { get; set; }
    public string FirstMidName { get; set; }
    public DateTime EnrollmentDate { get; set; }
    public virtual ICollection<Enrollment> Enrollments { get; set; }
}

和上下文:

public class SchoolContext : DbContext {
    public DbSet<Student> Students { get; set; }
    public DbSet<Enrollment> Enrollments { get; set; }
    public DbSet<Course> Courses { get; set; }

    protected override void OnModelCreating(modelBuilder As DbModelBuilder) {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}

我的连接字符串错误吗?这是服务器未正确配置的症状吗?我在这里搞砸了吗?

解决方法:

我刚刚使用ASP.NET MVC 4,SQL SERVER 2008 Express进行了测试.一切正常.您需要在连接字符串中提供数据库名称,如果您在global.asax中使用此类型代码,EF会使用该名称自动创建具有此名称的数据库,

System.Data.Entity.Database.SetInitializer(new CreateDatabaseIfNotExists<SchoolContext>());

这是我的连接字符串,

<add name="SchoolContext" connectionString="Data Source=.\SQlEXPRESS;Initial Catalog=SchoolDatabase;Integrated Security=True;Pooling=False"  providerName="System.Data.SqlClient" />

确保,

在使用之前构建应用程序.

尝试以管理员身份运行该应用程序.

您不需要最初创建SchoolContext,该向导将自动为您创建一个.

查找连接字符串的一种简单方法是使用服务器资源管理器.

标签:ef-code-first,sql-server-2008,c,asp-net-mvc
来源: https://codeday.me/bug/20191101/1986959.html