ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-11-01 22:14:24  阅读:318  来源: 互联网

标签:ef-code-first sql-server-2008 c asp-net-mvc


我正在尝试仅使用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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有