如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

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

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

关注

评论

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

2023移动端技术探索

轻口味

android 移动端 行业趋势 三周年连更

iOS MachineLearning 系列(9)—— 人物蒙版图生成

珲少

Bitmap引起的OOM问题

芯动大师

App 三周年连更 Out Of Memory

大数据集群的部署实例

TiAmo

大数据 集群 三周年连更 开发实例

什么是软件开发领域的 disruptive innovation

汪子熙

软件工程 软件开发 三周年连更

程序员失业:现实还是幻想?| 社区征文

断墨寻径

人工智能 三周年征文

Marior去除边距和迭代内容矫正用于自然文档矫正

合合技术团队

人工智能 OCR 识别

Selenium操作已经打开的浏览器

IT蜗壳-Tango

三周年连更

从软件哲学角度谈 Amazon SageMaker

亚马逊云科技 (Amazon Web Services)

Amazon SageMaker

《一文带你读懂:云原生时代业务监控》

后台技术汇

三周年连更

Qz学算法-数据结构篇(非线性结构、树)

浅辄

数据结构 三周年连更

【Linux】之Jumpserver堡垒机的部署_搭建

A-刘晨阳

Linux 跳板机 三周年连更

vivo 推送系统的容灾建设与实践

vivo互联网技术

容灾 推送系统

sdn网络

乌龟哥哥

三周年连更

OpenHarmony驱动子系统开发—GPIO

鸿蒙之旅

OpenHarmony 三周年连更

大流量时代,如何规划系统流量提升可靠性

华为云开发者联盟

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

【直播回顾】3月银行APP用户体验评测+中国金融业财富管理AI应用分析

易观分析

金融 银行

深入理解vue2.x双向数据绑定原理

不叫猫先生

Vue vue响应式 三周年连更

产品质量管理利器,华为云发布CodeArts Defect缺陷管理服务

华为云开发者联盟

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

AI新时代拐点:人工智能当红炸子鸡Chatgpt

AI探险家小新

人工智能 程序员 创作 工作 ChatGPT

《详谈·张勇》

石云升

读书笔记 三周年连更

基于STM32+华为云设计的智慧烟感系统

DS小龙哥

三周年连更

探秘!第四代北斗芯片

江湖老铁

使用 Vue.js 和 JavaScript 在 Web 应用程序中下载 PDF 文件

海拥(haiyong.site)

三周年连更

一键生成rpc网关服务项目代码,让你轻松实现跨语言、跨平台的服务调用

vison

微服务 Go 语言 gin 代码自动生成 rpc gateway

Git 速查表:初学者必备的 12 个 Git 命令

Se7en

招商证券与易观千帆达成合作,持续深耕数字化金融

易观分析

金融 证券

干货|SpringBoot JMS(ActiveMQ)API实践应用详解

浅羽技术

Apache 中间件 ​ActiveMQ 消息列队 三周年连更

多维评测指标解读2022MSU世界编码器大赛结果

阿里云CloudImagine

云计算 编码 编码器 视频云 MSU

【Python实战】Python采集图书信息

BROKEN

三周年连更

Spring Boot之根据数据库连接信息指定分页查询表结构信息

bug菌

Spring Boot 2 spring-boot 三周年连更

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