QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

使用 Code First Migrations 依据代码更新数据库结构

  • 2011-12-08
  • 本文字数:811 字

    阅读完需:约 3 分钟

ADO.NET 团队最近发布了 Code First Migrations Beta 1 for Entity Framework (EF)。该程序包已经在 NuGet 提供,位于 EntityFramework.Migrations 名称下。

应用程序开发领域中的代码先行(Code First)方法指的是先在代码中创建对象模型,然后按照模型生成数据库结构。这与“模型先行开发”类似,那种方式会使用 Visual Studio 中的 EF 设计器创建数据模型。(想要查看代码先行开发方式的实际效果,你可以访问 ADO.NET 团队的 EF 4.2 代码先行演练。)

Code First Migrations 这种工具可以基于代码中所做的改变,以递增的方式更新已存的数据库结构。这可以按照自动或者手动的方式进行(微软将其称之为“带有魔力的”和“没有魔力的”迁移),采用哪种方式依赖于对模型所做出的更新的类型。能够自动完成的变更类型有:

  • 增加属性或者类
  • 对属性和类重命名(想要使其正常工作,需要编写一些脚本)
  • 对列(column)或者表(table)重命名,而不对属性或类重命名
  • 删除属性

在任何一种情况下,执行命令 Update-Database 就会自动把变更应用到数据库结构上。

对于所有其它更新,Code First Migrations 会使用 Add-Migration 命令创建变更数据库的脚本。这些迁移操作都会保存,并加上时间戳,让我们可以回滚到数据库结构的上一个版本。除了能够对数据库结构做出变更之外,迁移操作中还可以包括用于操作数据的 SQL 命令。想要提交迁移操作,你只需要再次运行 Update-Database 命令。为了对数据库进行复制,Code First Migrations 也可以使用 Update-Database 来创建 SQL 脚本:

Update-Database –TargetDatabase:"NewDatabase" –Script

ADO.Net 团队已经提供了使用 Code First Migrations 的“没有魔力”“具有魔力的”两种方法的演练,你可以从中获得更多信息。

微软声称,这个beta 版本只包含了Code First Migrations 的Visual Studio 实现,他们计划还要引入命令行和MSDeploy 的版本。

查看英文原文: Code First Migrations Updates Data Structure From Code

2011-12-08 01:293339
用户头像

发布了 340 篇内容, 共 134.3 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

EDS从小白到专家丨生态产业链高效协同的一计良策

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

一文了解新能源汽车中包含多少种芯片

华秋电子

英伟达 汽车

Android图片资源检测插件实现

java易二三

Java 程序员 计算机 插件 APK

似懂非懂的 AspectJ

江南一点雨

spring

用好「留存」,闭环小程序运营链路

FinClip

TiDB 源码编译之 TiProxy 篇

TiDB 社区干货传送门

版本测评 新版本/特性解读 7.x 实践

十年磨一剑的华为云GES,高明在哪

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

PCB工艺制程能力介绍及解析(上)

华秋电子

PCB

高效模拟常见业务数据的 Mock 功能

Apifox

程序员 前端 API Mock Mock 服务

解放双手!ChatGPT助力编写JAVA框架! | 京东云技术团队

京东科技开发者

Java java框架 ChatGPT 企业号 8 月 PK 榜

常见API架构介绍

java易二三

Java 程序员 计算机 API

理解TiDB集群的P99计算方式

TiDB 社区干货传送门

数据库架构设计 应用适配

揭秘 | RocketMQ文件清理机制~

java易二三

Java 程序员 计算机

Java 面试题——MySQL 索引篇

郑在暴富中

Java 面试题 MySQL索引

Apache Kyuubi & Celeborn (Incubating) 助力 Spark 拥抱云原生

网易数帆

大数据 spark 云原生 Kyuubi Celeborn

诚邀报名 | 开放原子开发者工作坊:源安全——论开源项目的安全之道

开放原子开源基金会

开源

【保护你的上线】风险治理的防范与排查之路 | 京东云技术团队

京东科技开发者

运维 测试 企业号 8 月 PK 榜 上线风险 风险排查

项目开展CICD的实践探路 | 京东物流技术团队

京东科技开发者

CI/CD 测试 单元测试 Bamboo 企业号 8 月 PK 榜

tidb数据库5.4.3和6.5.3版本性能测试对比

TiDB 社区干货传送门

版本测评 性能测评 6.x 实践

使用Code First Migrations依据代码更新数据库结构_.NET_Jenni Konrad_InfoQ精选文章