我正在创建一个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
答案 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
所有这些都可以让您更好地了解正在发生的事情以及如何解决您的数据库更改问题。
简而言之,由于您添加了另一个属性,因此数据库中的实体框架表现在与您的类同步更长。由于它不再同步,您必须手动删除此数据库才能重新生成它,或者必须为数据库创建初始化。所有这些概念都在我提供的链接中有更好的描述。
祝你好运,希望这些可以帮到你。