【问题标题】:Create database structure using code first entity framework使用代码优先实体框架创建数据库结构
【发布时间】:2014-09-11 16:36:06
【问题描述】:

我正在编写一个 C# MVC 5 互联网应用程序并且我已经更改了上下文类。我希望使用更改的上下文类创建一个新数据库,因为我收到以下错误:

Invalid object name 'dbo.MapLocations'.

我已经在 web.config 中重命名了数据库名称,编译并运行了应用程序,但仍然出现上述错误。

如何重新创建数据库以具有我的上下文类的结构,这样我就不会收到上述错误?我以为指定一个新的数据库名称会自动使用实体框架创建一个新的数据库。

我的数据库中没有重要数据。

提前致谢

编辑

我已经手动删除了项目的 App_Data 文件夹中的文件,启用了迁移,添加了迁移,然后更新了数据库。

这是我在包管理器控制台中遇到的错误:

Cannot attach the file 'C:\Users\**path**\App_Data\CanFindLocation.Context.DataContext.mdf' as database 'CanFindLocation.Context.DataContext'. 

【问题讨论】:

  • 保持初始化器不变,手动删除数据库。要应用下一个更改,请使用EF Code-First Migrations
  • 你能看看我的编辑吗?
  • 您不应使用解决方案资源管理器手动删除数据库。改用 SQL Server 对象资源管理器,然后删除 Migrations 文件夹(这次是从解决方案资源管理器中删除),最后,从 PM-Console 中,再次启用迁移,为 InitialCreate 运行 Add-Migration 并运行 Update-Database 命令。

标签: c# database asp.net-mvc-5 entity-framework-6 dbcontext


【解决方案1】:

尝试使用DropCreateDatabaseAlways 类。类似问题here.

小心,它总是会删除并重新创建您的数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多