C# 实体框架数据库初始值设定项失败

C# 实体框架数据库初始值设定项失败,c#,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,我一直在学习本教程,但我正在为一个项目定制它 但是,当我运行它时,我遇到了问题-它无法初始化数据库,并且在我访问需要使用数据库的控制器时,会出现此错误: 无法为应用程序中指定的DbContext类型“JustSpecIt.DAL.JustSpecItAppContext,JustSpecIt”设置类型为“JustSpecIt.DAL.justSpecitiInitializer,JustSpecIt”的数据库初始值设定项 我的初始值设定项和上下文文件位于DAL文件夹中。在我的网络配置文件中,我有

我一直在学习本教程,但我正在为一个项目定制它

但是,当我运行它时,我遇到了问题-它无法初始化数据库,并且在我访问需要使用数据库的控制器时,会出现此错误:

无法为应用程序中指定的DbContext类型“JustSpecIt.DAL.JustSpecItAppContext,JustSpecIt”设置类型为“JustSpecIt.DAL.justSpecitiInitializer,JustSpecIt”的数据库初始值设定项

我的初始值设定项和上下文文件位于DAL文件夹中。在我的网络配置文件中,我有:

<entityFramework>
 <contexts>
<context type="JustSpecIt.DAL.JustSpecItAppContext, JustSpecIt">
  <databaseInitializer type="JustSpecIt.DAL.JustSpecItInitializer, JustSpecIt" />
</context>
{

公共类JustSpecitiInitializer:System.Data.Entity.DropCreateDatabaseIfModelChanges
{
受保护的覆盖无效种子(JustSpecItAppContext上下文)
{
var项目=新列表
{
新项目{ProjectName=“Just Spec It”,ClientID=“GR Corp”,Description=“Build Just Spec It Application”}
};
Projects.ForEach(s=>context.Projects.Add);
SaveChanges();
var UseCases=新列表
{
新用例{projectd=1,ActorID=1,Title=“打印规范”}
};
UseCases.ForEach(s=>context.UseCases.Add);
SaveChanges();
var步骤=新列表
{
新步骤{UseCaseID=1,Content=“这是步骤1”},
新步骤{UseCaseID=1,Content=“这是步骤2”},
新步骤{UseCaseID=1,Content=“这是步骤3”},
};
Steps.ForEach(s=>context.Steps.Add);
SaveChanges();
var查询=新列表
{
新查询{UseCaseID=1,QueryDescription=“我们需要向该用例添加更多详细信息!”)
};
querys.ForEach(s=>context.querys.Add);
SaveChanges();
var Actors=新列表
{
new Actor{Title=“Business Analyst”,Description=“该组将与应用程序交互以生成用例。他们将遵循Cockburn的编写过程以有效的方式生成用例!”,
new Actor{Title=“End System User”,Description=“这些用户将应用程序用于两个主要目的。第一个目的是提交用例标题(这实际上是他们的目标)。在业务分析师向应用程序输入有关如何实现这些目标的完整详细信息后,最终系统用户将再次使用该应用程序对其进行审查和评论。“}
};
Actors.ForEach(s=>context.Actors.Add);
SaveChanges();
}
}
}

JustSpecItInitialiser还是JustSpecItInitializer?
检查语法。

JustSpecItInitialiser还是JustSpecItInitializer?
检查语法。

JustSpecItInitialiser还是JustSpecItInitializer?
检查语法。

JustSpecItInitialiser还是JustSpecItInitializer?
检查语法。

能否显示您的
justSpecitiInitializer
类的外观?您是在同一个程序集中加载初始值设定项类,还是从不同的程序集中加载初始值设定项类?您使用哪个版本的EF?添加了初始值设定项。EF是6.0版。我想我是从同一个程序集加载的,如何检查?它只存在于一个项目中,该项目的属性告诉我程序集名称为JustSpecIt。谢谢大家!你能展示你的
justspecitializer
类是什么样子吗?你是在同一个程序集中加载你的初始化器类还是从不同的程序集中加载你的初始化器类?你使用哪个版本的EF?添加了初始化器。EF是6.0版。我想我是从同一个程序集加载的,如何检查?它只存在于一个项目中,该项目的属性告诉我程序集名称为JustSpecIt。谢谢大家!你能展示你的
justspecitializer
类是什么样子吗?你是在同一个程序集中加载你的初始化器类还是从不同的程序集中加载你的初始化器类?你使用哪个版本的EF?添加了初始化器。EF是6.0版。我想我是从同一个程序集加载的,如何检查?它只存在于一个项目中,该项目的属性告诉我程序集名称为JustSpecIt。谢谢大家!你能展示你的
justspecitializer
类是什么样子吗?你是在同一个程序集中加载你的初始化器类还是从不同的程序集中加载你的初始化器类?你使用哪个版本的EF?添加了初始化器。EF是6.0版。我想我是从同一个程序集加载的,如何检查?它只存在于一个项目中,该项目的属性告诉我程序集名称为JustSpecIt。谢谢大家!
<connectionStrings>
<add name="JustSpecItAppContext" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=JustSpecIt;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>  
</connectionStrings>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using JustSpecIt.Models;


namespace JustSpecIt.DAL
    public class JustSpecItInitialiser : System.Data.Entity.DropCreateDatabaseIfModelChanges<JustSpecItAppContext>
    {
        protected override void Seed(JustSpecItAppContext context)
        {
            var Projects = new List<Project>
            {
            new Project {ProjectName="Just Spec It", ClientID = "GR Corp", Description="Build Just Spec It Application"}
            };

            Projects.ForEach(s => context.Projects.Add(s));
            context.SaveChanges();

            var UseCases = new List<UseCase>
            {
                new UseCase {ProjectID = 1, ActorID = 1, Title = "Print Specification"}
            };

            UseCases.ForEach(s => context.UseCases.Add(s));
            context.SaveChanges();

            var Steps = new List<Step>
            {
                new Step {UseCaseID = 1, Content = "This is step 1"},
                new Step {UseCaseID = 1, Content = "This is step 2"},
                new Step {UseCaseID = 1, Content = "This is step 3"},
            };

            Steps.ForEach(s => context.Steps.Add(s));
            context.SaveChanges();

            var Queries = new List<Query>
            {
                new Query {UseCaseID = 1, QueryDescription = "We need to add more details to this Use Case!"}
            };

            Queries.ForEach(s=> context.Queries.Add(s));
            context.SaveChanges();

            var Actors = new List<Actor>
            {
                new Actor {Title = "Business Analyst", Description = "This group will interact with the application to generate the use cases. They will follow Cockburn's writing process to produce the use cases in an effective way!"},
                new Actor {Title = "End System User", Description = "These users will use the application for two primary purposes. The first is to submit uses case titles (which in fact will be their goals). After the Business Analyst has entered full details into the application about how these goals will be carried out, the End System Users will use the application again to review and comment on them."}
            };

            Actors.ForEach(s => context.Actors.Add(s));
            context.SaveChanges();
        }
    }
}