我正在学习一个教程(http://weblogs.asp.net/scottgu/archive/2011/05/05/ef-code-first-and-data-scaffolding-with-the-asp-net-mvc-3 -tools-update.aspx ) 来构建一个简单的 MVC 3 Web 应用程序。我正在使用代码优先的方法,事情进展顺利,直到我不得不返回并在我的一个模型中添加一个字段。
我收到错误“无效的列名'摘要'”。这是有道理的,因为这是我添加到模型中的新字段。
我的理解是,每当 Visual Studio 意识到现有数据库与其连接的数据库不同时,Visual Studio 都会尝试重新创建数据库。这是我想要的行为,所以我在 global.asax 文件中的 Application_start 中添加了以下行。
Database.SetInitializer<MyDBContext>(new DropCreateDatabaseIfModelChanges<MyDBContext>());
现在,当我尝试运行程序时,出现错误“无法检查模型兼容性,因为数据库不包含模型元数据。只能检查使用 Code First 或 Code First 迁移创建的数据库的模型兼容性。”
我什至删除了我一直在使用的现有数据库,这样 Visual Studio 就不会感到困惑。
每次更改模型时,为了让 Visual Studio 对 DB 进行核对,我需要做什么?