Entity Framework Code First 修改数据结构
2014-12-16 17:19
381 查看
相信刚接触EF Code First 的时候 都会被他的强大而震撼。
然而随着开发的深入,肯定会有修改之前结构的情况,例如添加或删除一个自动,修改一个字段属性。
EF本身也提供了一些功能:
Database.SetInitializer<XXContext>(
new DropCreateDatabaseIfModelChanges<XXContext>());
但是如果在生产环境这种方式肯定是不可取的。
最灵活的方式,也是最原始的方式就是放弃EF自动同步的功能,自己修改实体类,自己修改数据库结构。
操作方法如下:
要先删除数据库中dbo.EdmMetadata这张表,或者修改表名也是可以的。
比如我现在往Category类中加一个Status字段
public string Status { get; set; }
然后往数据库的Categories表中也添加Stauts这个字段,这样程序还是能照常运行的,不会清空数据库原有内容。
不过这样以后,code first的功能就无法使用了,如果你建立新的model,它不再自动帮你创建表了。
当然一个系统已经进入了生产环境,数据结构不可能变动太大,放弃EF的自动同步功能也是值得的。
然而随着开发的深入,肯定会有修改之前结构的情况,例如添加或删除一个自动,修改一个字段属性。
EF本身也提供了一些功能:
Database.SetInitializer<XXContext>(
new DropCreateDatabaseIfModelChanges<XXContext>());
但是如果在生产环境这种方式肯定是不可取的。
最灵活的方式,也是最原始的方式就是放弃EF自动同步的功能,自己修改实体类,自己修改数据库结构。
操作方法如下:
要先删除数据库中dbo.EdmMetadata这张表,或者修改表名也是可以的。
比如我现在往Category类中加一个Status字段
public string Status { get; set; }
然后往数据库的Categories表中也添加Stauts这个字段,这样程序还是能照常运行的,不会清空数据库原有内容。
不过这样以后,code first的功能就无法使用了,如果你建立新的model,它不再自动帮你创建表了。
当然一个系统已经进入了生产环境,数据结构不可能变动太大,放弃EF的自动同步功能也是值得的。
相关文章推荐
- MVC3学习第六章 排山倒海第二变----使用 Entity Framework Code-First 进行数据访问
- Entity Framework Code First添加修改及删除外键关联实体
- Entity Framework code first 手动修改数据库的问题
- Entity Framework Code first 禁止重新生成数据表库数据 和实体类修改后如何对应表
- Entity Framework Code First (七)空间数据类型 Spatial Data Types
- Entity Framework Code First 数据迁移
- Entity Framework Code First实体关联数据加载
- MySQL & Entity Framework Code First 数据表大小写的问题
- MySQL & Entity Framework Code First 数据表大小写的问题
- ASP.NET MVC4 新手入门教程特别篇之一----Code First Migrations更新数据库结构(数据迁移)修改Entity FrameWork 数据结构(不删除数据)
- 使用Entity Framework CodeFirst模式创建新数据库
- Entity Framework Code First添加修改及删除单独实体
- Entity Framework Code First (七)空间数据类型 Spatial Data Types
- ef codeFirst 修改表结构 增加字段等 EF code first需要重新生成库导致数据丢失的问题.
- Code First Entity Framework基本与最佳添加(add/create),删除(delete/remove),修改(update/modify)操作
- Entity Framework Code First实体关联数据加载
- MySQL & Entity Framework Code First 数据表大小写的问题
- Entity Framework Code First (七)空间数据类型 Spatial Data Types
- 查找删除Code First Entity Framework基本与最佳添加(add/create),删除(delete/remove),修改(update/modify)操作
- 【步步为营 Entity Framework+Reporting service开发】-(2) Code First ,EF创建数据库,数据表