写点什么

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

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

关注

评论

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

PoseiSwap 更新质押系统,并将在 8 月18 日开启“Trident ”快照

西柚子

9 种方法使用 Amazon CodeWhisperer 快速构建应用

亚马逊云科技 (Amazon Web Services)

人工智能

ARTS打卡 第一周

一期一会

Python 数据库 ARTS 打卡计划 前端框架 算法题

中小企业预算有限,如何使用Odoo构建企业ERP?

平平无奇爱好科技

如何通过华为云云耀云服务器L实例自建企业Nextcloud云存储

平平无奇爱好科技

干货丨使用Portainer进行Docker可视化管理

YG科技

数字化转型与架构-规划篇回顾

数字随行

数字化转型

步步向前,曙光已现:百度的大模型之路

脑极体

百度 文心

ARTS 打卡第 9 天

自由

ARTS 打卡计划

Presto 设计与实现(四):动态代码生成 ByteBuddy

冰心的小屋

数据湖 bytebuddy presto presto 设计与实现

关于SpringBoot,我有话要讲(Filter和Controller中的异常处理)

java易二三

Java 程序员 Spring Boot 计算机

java 程序启动后cpu高怎么办?

摸鱼编程

JVM JIT jfr pgo

从新学习String和StringBuilder,让面试官虎躯一震

摸鱼编程

Java 面试 string StringBuilder

干货丨云耀云服务器L实例需要配置升级教程

平平无奇爱好科技

mac系统综合清理优化 MacCleaner 3 Pro激活中文

胖墩儿不胖y

mac系统清理优化软件 优化工具

浅谈冥想(69/100)

hackstoic

冥想

如何三步实现高性能WordPress网站的部署

平平无奇爱好科技

PoseiSwap 更新质押系统,并将在 8 月18 日开启“Trident ”快照

BlockChain先知

中小企业如何使用Superset进行数据分析

YG科技

如何使用Prestashop三步轻松搭建自己的电商网站

平平无奇爱好科技

如何搭建企业个人直播流媒体服务器,使用OBS推送PC桌面流到SRS

平平无奇爱好科技

干货丨如何使用GitLab进行团队及项目管理

YG科技

轻松实现Matomo网站数据的高效分析极简教程

YG科技

google borg(k8s亲爹) 论文读后感

摸鱼编程

k8s Google borg

快手公布自研大模型最新进展:“快手AI对话”已开放内测

Geek老T

AI Codec 大语言模型

Go 语言中排序的 3 种方法

AlwaysBeta

Go

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