2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

DPU芯片企业中科驭数加入龙蜥社区,构建异构算力生态

OpenAnolis小助手

芯片 生态 龙蜥社区 CLA 中科驭数

小红书信息流推荐多样性解决方案

小红书技术REDtech

推荐 SSD 多样性 KDD

大画 Spark :: 网络(7)-Spark网络中的“四次握手”Executor注册到Driver过程中的TransportClient与细节过程

dclar

大数据 hadoop spark 架构设计 源代码

天翼云高可用虚拟IP(HAVIP)实践

天翼云开发者社区

netty系列之:在netty中使用native传输协议

程序那些事

Java Netty 程序那些事 5月月更

M-DAO开辟区块链全新战场,或成DAO赛道龙头

小哈区块

六、云原生可观测性

穿过生命散发芬芳

可观测性 5月月更

JVM进阶(十六)——JAVA 双亲委派模型

No Silver Bullet

类加载 双亲委派模型 5月月更

[Day44]-[回溯]-括号生成

方勇(gopher)

LeetCode 回溯算法 数据结构算法

Redis「8」实现分布式限流与延时队列

Samson

redis 学习笔记 5月月更

中国电子云数据库 Mesh 项目 DBPack 的实践

峨嵋闲散人

分布式事务 分库分表 读写分离

mark:vscode 无法远程访问连接

webrtc developer

vscode

SPDK QOS机制解析

天翼云开发者社区

css 学习笔记【三】浮动,不脱离文档流,继承和层叠

恒山其若陋兮

5月月更

在线文本代码对比工具

入门小站

工具

阿里云张新涛:异构计算为数字经济提供澎湃动力

阿里云弹性计算

XR 元宇宙 视觉计算

[Day43]-[回溯]-解数独

方勇(gopher)

LeetCode 数据结构算法

在线HTML转Excel工具

入门小站

工具

银行需明确低代码与无代码开发平台差异,以在技术上降低试错成本

易观分析

银行

使用 Provider 改造屎山代码,代码量降低了2/3!

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

Hoo研究院|币海寻珠—5月区块链行业投资机构动向(上)

区块链前沿News

区块链 投资 虎符 Hoo

首发!高性能数据访问中间件 OBProxy(一):功能模块及特性详解

OceanBase 数据库

oceanbase

直播预告丨OpenHarmony标准系统多媒体子系统之视频解读

Anna

OpenHarmony

时序数据库在桥梁监测领域中的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

linux之sed使用技巧

入门小站

Linux

干货| 四种渲染到底是啥?终于有人讲明白了!(下)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

Liga 讨论: ToB产品可不可以免费?

LigaAI

SaaS

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