EF数据库首先如何更新数据库更改模型?

时间:2014-09-09 05:08:56

标签: c# .net entity-framework entity-framework-5 entity-framework-6

在类库Ado.net Entity Data Model中生成了POCO类。这些都是第一次生成。但数据库的变化没有得到反映。在edmx图表中右键单击并选择Update Model from Database显示新创建的表,但即使在选择要添加后也不添加表。

我尝试运行.tt(通过右键单击并运行自定义工具),但即使它没有根据最新的数据库更改重新生成Poco类。

请帮助

2 个答案:

答案 0 :(得分:5)

不是修复,而是解决方法:是不是只需删除和重新生成EDMX和生成的类就可以了?这就是我所做的,它比使用更新功能容易得多,结果似乎是一样的。您的POCO扩展程序仍然保持不变并且功能正常。

我首先使用数据库,我有我的SQL升级脚本,生成的EDMX和源代码控制中的Generated模型,并且它们的更改非常容易管理。以下是每个版本的数据库升级过程的大致概述:

  1. 为升级创建.sql脚本,如CREATE TABLE等语句
  2. 删除生成的文件:Model.Context.tt,Model.tt,Model.edmx
  3. 从Web.config中删除实体字符串(如果使用它)
  4. 以与第一次相同的方式创建EDMX和Context文件
  5. 如果您使用源代码管理(我希望您这样做!),请检查已更改的内容
  6. 测试
  7. 提交<!/ LI>

答案 1 :(得分:0)

在我的情况下,我需要保存ModelName.edmx,然后生成类。