Asp.net mvc 无法获取实体框架5.0以创建数据库->;序列不包含匹配元素

Asp.net mvc 无法获取实体框架5.0以创建数据库->;序列不包含匹配元素,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我想我今天读了所有关于这个的东西,但似乎什么都不管用。我在MVC4项目中使用EntityFramework5.0 我有一个现有的MVC4项目,其中的数据库(在SQL Server 2008 Express上)存在一些问题,即使我的DataContextInitializer继承自DropCreateDatabaseAlways,也没有重新创建该数据库 因此,我决定从SQLServerManagementStudio手动删除数据库 当我重新启动应用程序时,我注意到数据库从未被创建或初始化。然而,连

我想我今天读了所有关于这个的东西,但似乎什么都不管用。我在MVC4项目中使用EntityFramework5.0

我有一个现有的MVC4项目,其中的数据库(在SQL Server 2008 Express上)存在一些问题,即使我的DataContextInitializer继承自DropCreateDatabaseAlways,也没有重新创建该数据库

因此,我决定从SQLServerManagementStudio手动删除数据库

当我重新启动应用程序时,我注意到数据库从未被创建或初始化。然而,连接字符串是好的

在应用程序_Start()的Global.asax.cs中,我尝试调用以下不同的函数:

Database.SetInitializer(new DataContextInitializer());

DataContext db = new DataContext();

db.Database.Initialize(true);

db.Database.CreateIfNotExists();
最后一行代码(CreateIfNotExists)抛出异常,异常为“序列不包含匹配的元素”,并且永远不会创建数据库。无论我调用什么(db.Database.Delete()/db.Database.Initialize(true)),它都是相同的。。一切都会产生相同的异常/错误

我确信我的连接字符串以前工作得很好

我试图更改连接字符串中的数据库名称,以尝试使用其他名称创建新数据库,但问题仍然存在

我尝试重新启动Visual Studio、IIS和SQL Server。。没有办法创建这个数据库,无论我做什么,我总是得到这样的“序列不包含匹配的元素”

似乎我通过一个外部工具删除了数据库,EF仍然相信数据库存在,并且没有重新创建它。。某处有缓存吗?我还关闭了服务器资源管理器中的所有数据连接

有什么想法吗

以下是我的DbContext:

   public class DataContext : DbContext
    {
        public DataContext()
        {
            // Do nothing
        }

        public DbSet<Company> Companies { get; set; }
        public DbSet<User> Users { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        { 
        }
公共类DataContext:DbContext
{
公共数据上下文()
{
//无所事事
}
公共数据库集公司{get;set;}
公共数据库集用户{get;set;}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{ 
}
和初始值设定项:

public class DataContextInitializer : DropCreateDatabaseAlways<DataContext>
{
    protected override void Seed(DataContext context)
    {
         // Some init here
    }
}
公共类DataContextInitializer:DropCreateDatabaseAlways
{
受保护的覆盖无效种子(DataContext上下文)
{
//这里有一些
}
}

您是否正确初始化了连接字符串?是的,我想是的:您的
DataContext
是否位于命名空间
Contoso.Manager
中?谢谢Wiktor,是的,我检查了名称空间,它们很好。好的。我发现了问题所在,我的BillingDetail类中有一个时区属性,这阻止了数据库被创建特德。。。