支持上下文的模型已经改变

时间:2012-07-26 14:06:10

标签: asp.net-mvc vb.net asp.net-mvc-3

我已经看到了其他答案,但我无法让它发挥作用。我有一个简洁,干净的网站,有两个模型:

博客模型:

Imports System.Data.Entity
Imports System.ComponentModel.DataAnnotations

Public Class Blog

    Public Property BlogId() As Integer

    Public Property Name() As String
    Public Property Description() As String
    Public Property DateCreated As Date

    Public Overridable Property Articles() As ICollection(Of Article)

End Class

Public Class BlogDbContext

    Inherits DbContext
    Public Property Blogs As DbSet(Of Blog)

End Class

文章模型:

Imports System.Data.Entity
Imports System.ComponentModel.DataAnnotations

Imports GemcoBlog

Public Class Article

    Public Property ArticleId() As Integer
    Public Property BlogId() As Integer
    Public Property Title() As String
    Public Property Body() As String
    Public Property DateCreated As Date

Public Overridable Property Blog() As Blog

End Class

Public Class ArticleDbContext
    Inherits DbContext
    Public Property Articles As DbSet(Of Article)
    Public Property Blogs As DbSet(Of Blog)
End Class

当我添加创建控制器和视图的控制器,然后运行时,我收到此错误:

  

支持'ArticleDbContext'上下文的模型自从以来发生了变化   数据库已创建。手动删除/更新数据库,或   使用IDatabaseInitializer实例调用Database.SetInitializer。   例如,DropCreateDatabaseIfModelChanges策略将   自动删除并重新创建数据库,并可选择播种它   新数据。

     

来源错误:

     

第12行:第13行:函数索引()作为ViewResult第14行:
  Dim articles = db.Articles.Include(Function(a)a.Blog)第15行:
  返回视图(articles.ToList())第16行:结束函数

     

源文件:C:\ Users \ darchual \ documents \ visual studio   2010 \项目\博客\博客\控制器\ ArticleController.vb
  行:14

如何解决此错误?

编辑:

我通过从数据库中删除EdmMetaData表来解决此问题。我需要这张桌子吗?对任何事都有好处吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我这个问题的解决方案是从数据库中删除EdmMetaData表。