首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向数据库提交对模型所做的更改

向数据库提交对模型所做的更改
EN

Stack Overflow用户
提问于 2012-11-11 20:31:34
回答 1查看 317关注 0票数 0

我已经构建了一个模型,通过代理创建了一个控制器(并通过代理创建了许多视图,用于查看、创建、删除和编辑创建的表中的记录,每当我第一次通过web浏览器中的控制器浏览到该视图时),而不是使用Visual中的向导。

此操作如出一辙,但随后我对模型进行了更改,并尝试了以下步骤将更改提交到数据库:

  1. 我删除了控制器
  2. 我删除了View文件夹,该文件夹包含用于创建/删除/etc记录的各种cshtml页面
  3. 我使用Visual中的服务器资源管理器窗格从数据库中删除表
  4. 我根据模型(并通过代理各种视图)重新创建了控制器。
  5. 保存了所有的
  6. 我重建了我的解决方案

执行上述操作后,我点击调试,并浏览到我的控制器,期待实体框架重新创建我的表。相反,我得到了这个错误:

无效的对象名称'dbo.FooBar‘。//FooBar是我的模型的名称,因此是我的表

以下是几个问题:

  1. 在控制器/视图/表都创建之后,提交对模型的更改的正确方法是什么,并且可能已经对它们进行了更改。
  2. 我能做些什么来解决我目前的状况?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-11-11 22:55:53

您想要使用的两个包是:

自动移动(EFMigrations)

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

此特性扩展了您的项目,不仅可以首先使用代码,而且还可以将对模型所做的更改迁移到数据库。我使用这个在生产中,因为它是从那一刻起,是测试版。

MVC脚手架

http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/

您可以下载现有的脚手架模板创建基于模型的视图。然后,如果您的模型发生更改,这些视图就会自动更新。从来没有构建过我自己的模板,但是这里有一篇来自Scott的博客文章,他展示了如何做到这一点:http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerationscaffoldingTemplatesInASPNETMVC.aspx

看看Sanderson (脚手架)和Scott (EF Migrations)在Channel9上的谈话。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13335147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档