写点什么

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

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

关注

评论

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

从《繁花》看图数据库的关联力!

博文视点Broadview

NineData云原生智能数据管理平台新功能发布|2024年2月版

NineData

MySQL 数据复制 tdsql NineData GaiaDB

淘宝天猫详情接口API:快速实现商品信息查询和展示

联讯数据

释放全球互连的数字潜力!MWC 2024云网高峰论坛召开,中国电信天翼云扬帆起航!

天翼云开发者社区

云计算 峰会 世界移动通信大会

好物期刊#1:我每天都使用的在线工具

JavaPub

程序员 计算机 在线工具

LLM 推理优化探微 (2) :Transformer 模型 KV 缓存技术详解

Baihai IDP

程序员 AI LLM 白海科技 KV缓存

如何使用香山之香山工具详解:difftest应用及配合波形检验

源芯

芯片设计 risc-v 开源芯片 高性能处理器香山

利用API接口进行竞品价格监控的综合指南

Noah

如何做代币分析:以 USDC 币为例

Footprint Analytics

blockchain Token

Sermant运行流程学习笔记,速来抄作业

华为云开发者联盟

开发 华为云 华为云开发者联盟 sermant

前端的你常用的编程语言有哪些?

小齐写代码

Databend Labs 成立 3 周年!

Databend

淘宝1688京东...商品详情API接口(属性,详情图,价格,sku评价等接口)可高并发批量采集

Anzexi58

API 文档

金融信创湖仓一体数据平台架构实践

数新网络官方账号

金融 信创 数据平台 湖仓一体

如何基于容器网络流量指标进行弹性伸缩

华为云开发者联盟

容器 开发 华为云 华为云开发者联盟

Vocabulary

Echo!!!

IT外包提升企业灵活性与敏捷性

Ogcloud

IT IT外包 IT外包公司 IT外包服务

钉钉如何通过AppLink快速连接仓储系统

谷云科技RestCloud

钉钉 APPlink 自动化集成 仓储系统

如何做代币分析:以 LDO 币为例

Footprint Analytics

blockchain Token LDO

开发者分享:利用 EMQX Cloud 与 ESP32 微控制器实现智能液冷散热系统

EMQ映云科技

mqtt mqtt broker

SD-WAN: 灵活部署,助力云服务

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

广州孚瑞经营改善 企业经营持续增长方案提供商

广东孚瑞经营改善

精益生产

数字先锋| 上云!让“媒”好“发声”

天翼云开发者社区

云计算 网络 上云

向“新”而行,以科技创新培育新质生产力!

天翼云开发者社区

人工智能 云计算 算力

软件测试学习笔记丨WebSocket原理&使用

测试人

软件测试 测试开发

IT外包对企业业务流程整合有什么帮助?

Ogcloud

IT IT外包 IT外包公司 IT外包服务

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