c# - EF 数据库首先如何更新数据库更改的模型?

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

在类库 Ado.net 实体数据模型 中生成了 POCO 类。这些是第一次生成良好。但是没有反射(reflect)数据库更改。在 edmx 图中右键单击并选择 Update Model from Database 显示新创建的表,但即使选择要添加的表也不会添加。

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

请帮忙

最佳答案

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

我首先使用数据库,我有我的 SQL 升级脚本、生成的 EDMX 和我在源代码管理中生成的模型,那里的更改非常容易管理。以下是我对每个版本的数据库升级过程的粗略概述:

  1. 为升级创建 .sql 脚本,语句如 CREATE TABLE
  2. 删除生成的文件:Model.Context.tt、Model.tt、Model.edmx
  3. 从 Web.config 中删除 Entities 字符串(如果您使用它)
  4. 以与第一次相同的方式创建 EDMX 和上下文文件
  5. 如果您使用源代码管理(我希望您这样做!),请检查发生了什么变化
  6. 测试
  7. promise !

关于c# - EF 数据库首先如何更新数据库更改的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25737054/

相关文章:

asp.net - 在 VS2012 中使用动态数据实体网站时出错

entity-framework - context.detach - 用于垃圾收集

c# - 组合框显示成员问题,快把我逼疯了

.Net System.OutOfMemoryException 填充数据表

c# - 获取临时键 x 和 y 坐标

.net - 在这种情况下,我应该捕获并重新抛出异常吗?

entity-framework - Entity Framework 和带有显式链接表的多对多关系

c# - 如何使用 propertyInfo 获取列表类型属性的值

c# - 在后面的代码中将 Text 设置为 RichTextBlock

c# - 为什么编译器不自动检测只读结构?