【发布时间】:2011-08-05 02:58:08
【问题描述】:
Entity Framework Code First 是开发新项目的绝佳框架。但是扩展现有数据库呢?
例如,如果我只是想向现有数据实体添加附加属性怎么办?是否有任何“代码优先”的方式来执行此操作,或者我是否必须使用 SQL Server Management Studio 或类似工具手动添加数据库列?
到目前为止,我所发现的只是当架构更改时如何从头开始重新生成整个数据库,但我不想丢失我的数据。
如果我没记错的话,Ruby on Rails 有一个工具可以生成反映新数据库更改的 SQL 脚本。在 EF Code First 中也有什么方法可以做到这一点吗?
【问题讨论】:
-
如果您有任何不想丢失的大量数据......我会说使用模式优先模型。这不是一个选择吗?除了 dba 不可用之外..首先使用代码你会得到什么好处?请赐教……
-
@sam yi:写这篇文章两年后,我倾向于同意你的评论——尽管从开发人员的角度来看,代码优先的方法仍然很有吸引力。简单地向一个类添加一个属性比使用 SQL 命令然后生成更新我的 EF 类要容易得多。
标签: entity-framework ef-code-first database-schema entity-framework-4.1