【发布时间】:2012-07-26 14:06:09
【问题描述】:
我已经看到了其他答案,但我无法让它发挥作用。我有一个简单、干净的网站,有两个模型:
博客模型:
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 行:函数 Index() As ViewResult 第 14 行:
暗淡文章 = db.Articles.Include(Function(a) a.Blog) 第 15 行:
返回 View(articles.ToList()) 第 16 行:结束函数源文件:C:\Users\darchual\documents\visual studio 2010\Projects\Blog\Blog\Controllers\ArticleController.vb
线路:14
我该如何解决这个错误?
编辑:
我通过从数据库中删除 EdmMetaData 表来解决此问题。我需要这张桌子吗?它对任何事情都有好处吗?
谢谢。
【问题讨论】:
-
错误消息似乎建议您使用 2 种可能的方法来解决此问题。当你尝试它们时发生了什么?
-
感谢您的快速回复。我编辑了这个问题,说:“我通过从数据库中删除 EdmMetaData 表来解决这个问题。我需要这个表吗?它有什么用吗?”
-
EdmMetaData 被实体框架用来验证当前模型是否与数据库匹配。删除它会使 EF 认为一切都是最新的,因此它将无法检测到未来的变化。
标签: asp.net-mvc vb.net asp.net-mvc-3