报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

使用 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:293349
用户头像

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

关注

评论

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

Gin 教程:构建优雅的 Web 应用(一)

Felix

golang gin框架

Markdown预览工具Marked 2 for mac

Rose

磁盘空间分析工具Disk Graph for Mac v3.0.4激活版

Rose

Git客户端 Fork for Mac v2.44激活版

Rose

IconJar Mac 图标素材管理工具

Rose

基于STM32的智能粮仓系统设计

DS小龙哥

7月月更

解决卡顿发热,超帧技术焕发中重载游戏动力

HarmonyOS SDK

HarmonyOS

测试开发比,能代表质效平衡吗?

老张

软件测试 研发效能 质量保障

和平台融合做套件,是SaaS厂商掘金的新趋势吗

ToB行业头条

邀请函 | 极限科技全新搜索引擎 INFINI Pizza 亮相 2024 可信数据库发展大会!

极限实验室

极限科技 TDBC 搜索型数据库 Pizza 2024可信数据库发展大会

Microsoft Outlook 2021 LTSC mac永久激活版

Rose

功能强大的RAW图像处理和转换应用Iridient Developer for Mac

Rose

Screen Wonders 3D壁纸屏保软件 提供了多种不同的动态壁纸和屏保

Rose

专为苹果电脑打造的浏览器缓存清理工具Cookie for Mac

Rose

Dynamic Wallpaper for Mac 臻选高清4K动态壁纸 苹果电脑壁纸素材

Rose

“粤”见昇腾 | 昇腾AI开发者创享日·广东站圆满举办

科技热闻

IAM中的“跨生态纳管”

芯盾时代

身份安全 iam 生态链 统一身份管理平台

Outlook 2021 LTSC for Mac v16.86.2中文正式版

你的猪会飞吗

mac软件下载 mac破解软件下载

探秘数据库中的并行计算技术应用

华为云开发者联盟

MySQL 数据库 华为云 华为云开发者联盟 企业号2024年7月PK榜

优秀的个人理财管理软件 CheckBook Pro for mac

Rose

MacOS平台上好用的虚拟音频设备Loopback for Mac v2.4.1激活版

Rose

AI系统:未来科技的驱动力

天津汇柏科技有限公司

人工智能 未来以来

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