写点什么

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

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

关注

评论

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

条件过滤检索

DashVector

向量检索 大模型 向量数据库

创元集团携手火山引擎,数据飞轮驱动美妆品牌数字化转型

字节跳动数据平台

大数据 数智化转型 数字化平台 企业 AI 应用

袋鼠云港口数智化解决方案发布,数智引领,加速“智变”

袋鼠云数栈

glibc 内存分配与释放机制详解

vivo互联网技术

开源 glibc 内存管理 内存泄漏

简述大前端技术栈的渲染原理

京东科技开发者

一文理解布隆过滤器和布谷鸟过滤器

京东科技开发者

第73期 | GPTSecurity周报

云起无垠

探讨拼多多商品 API 接口:运用及收益

科普小能手

API接口工具 API 接口 API 测试 pinduoduo API 拼多多API

小间距LED显示屏,我们还可以了解哪些

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏 市场

GreptimeDB v0.9 重磅发布|引入日志存储引擎,支持日志指标数据联合分析!

Greptime 格睿科技

云原生 时序数据库

【EMNLP2024】面向长文本的文视频表征学习与检索模型 VideoCLIP-XL

阿里云大数据AI技术

人工智能 自然语言处理 阿里云 论文 EMNLP

HyperWorks的实体几何创建与六面体网格剖分

智造软件

Hypermesh 仿真分析 有限元

JinaCLIP×Milvus:手把手教你搭建多模态RAG系统

Zilliz

多模态 rag clip模型 jinaclip

安全、合规!华为云助力源康健加速医疗产业数智化转型

YG科技

实战指南:高效高并发批量采集1688商品详情接口

代码忍者

API 接口 pinduoduo API

达摩院发布八观气象大模型:精度达1小时1公里,率先落地新能源场景

吴脑的键客

人工智能 阿里巴巴

探索淘宝API:如何高效获取商品类目信息

代码忍者

Netty 如何自动探测内存泄露的发生

bin的技术小屋

内存泄露 Netty 内存泄露检测 netty内存管理 Java.

Agent 智能体开发框架选型指南

Baihai IDP

程序员 AI 智能体 Agents

云计算与低代码:实现无缝集成与高效部署的最佳实践

天津汇柏科技有限公司

云计算 低代码

在使用Alt+Tab切换程序时 Windows 11 24H2会出现黑屏

吴脑的键客

windows Windows 10 Windows11

微博热搜榜数据抓取的详细攻略

幂简集成

微博

向量检索服务-应用场景

DashVector

人工智能 数据库 向量检索 大模型

AI对话魔法|Prompt Engineering 探索指南

京东科技开发者

如何用CST自带宏提取材料的DK,Df值

思茂信息

cst cst使用教程 cst电磁仿真 cst仿真软件

产品经理应该是“全才”还是“专才”?

科技热闻

Schema Free

DashVector

人工智能 大数据 AI 向量检索 大模型

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