写点什么

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

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

关注

评论

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

英特尔Sachin Katti揭示边缘平台增强AI功能之道

E科讯

低代码与国产化部署:软件开发的未来趋势与应用实践

不在线第一只蜗牛

低代码 软件咖啡 国产化部署

利用ChatGPT提升工作效率的技巧与方法

霍格沃兹测试开发学社

浙江丽水,正在用AI诊癌

Openlab_cosmoplat

OPPO打响AI手机第一枪

Openlab_cosmoplat

英特尔发布全新边缘平台,充分满足企业AI部署需求

E科讯

AIGC下一步:如何用AI再度重构或优化媒体处理?

阿里云CloudImagine

云计算 视频云 AIGC

软件测试学习笔记丨docker 搭建常用服务器与平台命令

测试人

Docker 软件测试 自动化测试 测试开发

深入了解数据库:分类、作用与特点

霍格沃兹测试开发学社

Docker Exec 命令详解与实践指南

霍格沃兹测试开发学社

SQL 创建数据库语句详解与实践指南

霍格沃兹测试开发学社

Python 教学平台,支持“多班教学”的课程授课方式|ModelWhale 版本更新

ModelWhale

Python 人工智能 大数据 数据分析 云课堂

创新永不止步,织信低代码平台继续加速前进!

优秀

低代码 低代码平台

抖音商品详情API入门:为开发者和商家打造增长工具箱

tbapi

抖音 抖音商品详情API接口 抖音商品数据采集 抖音商品详情API接口代码

精细管理,智慧决策:商品企划系统如何提升鞋服品牌运营效率?

第七在线

Sentieon | 每周文献-Population Sequencing-第三十四期

INSVAST

基因测序

RTE 开源|小红书 REDPlayer 正式发布!快来 get 同款播放器~

RTE开发者社区

AI PPT软件有哪些?这5款堪称神器,职场白领必备!

彭宏豪95

职场 PPT 在线白板 办公软件 AIGC

量化交易策略炒币系统开发

薇電13242772558

量化交易

软件测试学习笔记丨MQ - Message Queue消息队列和kafka基本使用

测试人

软件测试 自动化测试 测试开发

谷歌最强开源大模型亮相!Gemini技术下放,笔记本就能跑,可商用

Openlab_cosmoplat

OpenAI员工自曝996作息表,网友:真正的卷不需要强迫

Openlab_cosmoplat

关于 yarn 的中央仓库 registry.yarnpkg.com

伤感汤姆布利柏

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