写点什么

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

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

关注

评论

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

Proof Beyond Boundaries: Hong Kong zkNight 活动精彩回顾

TechubNews

博云AIOS+DeepSeek:代码辅助评审

BoCloud博云

博云 DeepSeek

什么是DNS反射放大攻击?如何预防?

国科云

探索高效项目管理协作的解决方案

axe

项目管理 办公软件 项目协作

人工智能丨基于视觉模型的目标检测技术在自动化测试中的应用

测试人

阿里云可观测全面拥抱 OpenTelemetry 社区

阿里巴巴云原生

阿里云 云原生

不懂代码别发愁,火语言 RPA 助你轻松搞定 B 站稿件发布

火语言RPA

foobar2000 for mac(多功能音频播放器)v2.24.2免激活版

Rose

算法优化必看:时间复杂度与空间复杂度的深度解析

测吧(北京)科技有限公司

测试

星海智算+ DeepSeek-R1:技术突破与行业应用的协同革新

Yan-英杰

人工智能 DeepSeek

别再盲目发小红书笔记,火语言 RPA 教你高效运营秘籍

火语言RPA

Milvus x DeepSeek 搭建低成本高精度 RAG 实战

阿里云大数据AI技术

Milvus rag PAI DeepSeek

JUC并发—ThreadLocal源码分析

不在线第一只蜗牛

Java 算法 JVM

谷云科技iPaaS×DeepSeek:构建企业智能集成的核心底座

RestCloud

AI 智能体 数据集成平台 ipaas DeepSeek

Proof Beyond Boundaries: Hong Kong zkNight——零知识证明技术的未来之夜

TechubNews

区块链 科技 web3

队列在实际开发中的应用:管道、消息收发与 FIFO 原理揭秘

测吧(北京)科技有限公司

测试

Sandisk闪迪成功完成与西部数据分拆,正式登陆纳斯达克

极客天地

多叉树在大数据结构中的应用与算法优化实例

测吧(北京)科技有限公司

测试

TouchDesigner Pro(可视化原型渲染设计)

Rose

人工智能丨基于 OCR 识别方法的自动化测试

测试人

从冒泡到选择:经典排序算法背后的深度解析与优化

测吧(北京)科技有限公司

测试

堆栈的奥秘:LIFO 与栈、堆的深度对比与应用场景

测吧(北京)科技有限公司

测试

小红书运营难题一键破!火语言 RPA 开启涨粉变现新捷径

火语言RPA

《Operating System Concepts》阅读笔记:p125-p146

codists

操作系统

0 代码!2 种方式,一键部署 DeepSeek 系列模型

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

二叉树探索:从创建到遍历,前序中序后序算法全攻略”

测吧(北京)科技有限公司

测试

链表的魅力:单链表与双链表常见算法应用详解

测吧(北京)科技有限公司

测试

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