我正在按照教程(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 Migrations创建的数据库的模型兼容性。” p>
我甚至删除了我一直使用的现有数据库,因此Visual Studio不会混淆。
每次更改模型时,为了让Visual Studio能够修改数据库,我需要做什么?