使用 EF CodeF 和 mvc nugget Scaffold 发布后向 DB 添加列
Posted
技术标签:
【中文标题】使用 EF CodeF 和 mvc nugget Scaffold 发布后向 DB 添加列【英文标题】:Adding columns to DB after publishing using EF CodeF and mvc nugget Scaffold 【发布时间】:2011-10-09 13:43:18 【问题描述】:我首先使用 mvc 3 和 Ef 代码创建了一个网站,现在在发布该网站和它的数据库之后,我发现我需要在我的一个数据库表中添加一个新列, (数据库中已经有很多数据) 我应该将列直接添加到数据库中还是应该添加到类中? (只是一个带有 get 和 set 的简单字符串) 以及如何在不丢失数据库中数据的情况下做到这一点? 谢谢
【问题讨论】:
【参考方案1】:将列添加到类中就足够了。您可以找到here 的证据。
以下是迁移可以自动处理的更改的完整列表:
添加属性或类
对于任何现有数据行,可为 Nullable 列分配 null 值 将为任何现有数据行的给定数据类型分配 CLR 默认值重命名属性或类
有关此处所需的其他步骤,请参阅“重命名属性和类”重命名基础列/表而不重命名属性/类 (使用数据注释或 fluent API)
迁移可以自动检测这些重命名而无需额外输入删除属性
有关详细信息,请参阅“带有数据丢失的自动迁移”部分
我建议您将列直接添加到数据库和到类,并在本地机器上进行测试。
【讨论】:
以上是关于使用 EF CodeF 和 mvc nugget Scaffold 发布后向 DB 添加列的主要内容,如果未能解决你的问题,请参考以下文章
将 asp.net 5 MVC 6 与 Identity 和 EF 6 一起使用的示例
EF6(代码优先)、MVC、Unity 和没有存储库的服务层