如何刷新我的数据库

时间:2011-08-23 17:12:50

标签: asp.net-mvc vb.net

我正在创建一个mvc应用程序,我有一个带有dbcontext函数的模型类,变量在同一个文件中。我添加了另一个字段并更改了编辑创建删除详细信息和索引视图中的代码,但我现在收到错误说

“自创建数据库以来,支持'GameDBContext'上下文的模型已更改。手动删除/更新数据库,或使用IDatabaseInitializer实例调用Database.SetInitializer。例如,DropCreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可选择为其添加新数据。“

    Imports System.Data.Entity

    Public Class Game
        Public Property ID() As Integer
        Public Property Name() As String
        Public Property Genre() As String
        Public Property Price() As Decimal
        Public Property Developer() As String
    End Class
    Public Class GameDBContext
        Inherits DbContext
        Public Property Games() As DbSet(Of Game)
    End Class

2 个答案:

答案 0 :(得分:1)

您需要在Application_Start文件中的Global.asax方法中添加初始化方法。例如: -

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<GameDBContext>());

答案 1 :(得分:0)

由于听起来您在开发应用程序时使用的是代码优先方法,因此以下是一些可能对您有所帮助的链接:

code first development with entity framework 4

Code First/Entity Framework 4.1 Videos and Articles on MSDN

所有这些都可以让您更好地了解正在发生的事情以及如何解决您的数据库更改问题。

简而言之,由于您添加了另一个属性,因此数据库中的实体框架表现在与您的类同步更长。由于它不再同步,您必须手动删除此数据库才能重新生成它,或者必须为数据库创建初始化。所有这些概念都在我提供的链接中有更好的描述。

祝你好运,希望这些可以帮到你。