paint-brush
EF Core 转入:零基础分块要点 由@ssukhpinder
4,258 讀數
4,258 讀數

EF Core 迁移:入门分步指南

Sukhpinder Singh8m2023/03/09
Read on Terminal Reader

太長; 讀書

EF Core 是一个对象关系映射 (ORM) 框架,允许开发人员与数据库进行交互。 EF Core 的一项基本功能是它处理数据库迁移的能力。本文通过示例演示了 EF Core 迁移、它们为何如此重要以及如何使用它们。
featured image - EF Core 迁移:入门分步指南
Sukhpinder Singh HackerNoon profile picture
Entity Framework Core (EF Core) 是种女朋友的关联地址映射 (ORM) 架构设计,能接受联合开发人数运用 .NET 女朋友与参数报告库交互方式。 EF Core 的某项大体模块是它办理参数报告库迁出的实力。

先决条件

  • 基本的 C# 编程语言知识。
  • OOPS基本概念理解


选文经过范例操作方法了 EF Core 转移、植物的根为什么要这样一来更重要以其如此使用的植物的根。因而,着手:



学习目标

  • 如何通过示例使用 EF Core 迁移。


  • 为什么 EF Core 迁移很重要

入门

EF Core 变更一种因为周期的变动管理制度数据表格库网络架构调整的方式方法。当您常用对数据表格库模式完成调整(譬如插入或删掉表或列)时,您还可以新创建的叙述这样的调整的变更。


以后施用搬迁来的更新数据统计库形式 以切换新类别。

为什么 EF Core 迁移很重要?

EF Core 迁址是必不得少的,会因为想一想能接受您在使用动态数据显示的同一跟随着用时的推进完善动态数据显示库体系结构。


只要不转入,一直变化模形时都必定人工手动开启机组改造数据显示库结构,这既用时又简易打错。


转入还提供数据新一种多数据库模式英文做出旧传奇调整的具体方法,便于您就可以容易监视改变并在需时回滚到前的旧传奇。

如何使用 EF Core 迁移?

要在使用 EF Core 移动,您必须要 程序执行以内一些环节:


  1. 建立某个新的 EF Core 品牌。第一点步是在 Visual Studio 中建立某个新的 EF Core 品牌。您是可以经由的选定“建立新品牌”,但是的选定“ASP.NET Core Web 用途小系统软件”并的选定“Web 用途小系统软件(仿真模型-视图-管控器)”模板免费来达到此的操作。


  2. 创造动态比对信息统计显示库前后文。下1步是创造动态比对信息统计显示库前后文类。所选管理系统 .NET 因素与动态比对信息统计显示库区间内的互动。要创造动态比对信息统计显示库前后文,请在您的工作中创造一款新类并从 DbContext 类传承它。


 public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } }


创建数据库模型

搭建信息资料库上文后,您必须 搭建信息资料库模形。此模形带表信息资料库的机构,EF Core 运用它来制成信息资料库表和列。


要建立数据表格源库模式,请在您的建设项目中建立一款新类,并将其暴击伤害设定为数据表格源库字符。


 public class MyModel { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }


启用 EF Core 迁移

收起来,您必须 在您的工程项目中使用 EF Core 迁出。对此,请打开浏览器吊模理器设定台,最后输人一些ftp命令:


 PM> Install-Package Microsoft.EntityFrameworkCore.Tools


此品牌包含新建和管理方法 EF Core 移动营养的的工具。


创建迁移

任用 EF Core 迁出后,您会有个您的一迁出。要有个迁出,请张开包管道理器管理台,接着设置下例强制性:


 PM> Add-Migration InitialCreate


这将新创建一款 叫做“InitialCreate”的新转化,它详情了您多数据库绘图所做的修该。您就可以在大型项目的“转化”文件名夹中察看转化的主要内容。


更新数据库

搭建移动后,您可自动更新数据表格库框架以符合新仿真模型。故此,请打开网页陶粒回填理器操控台,但是输进下类操作命令:


 PM> Update-Database


这会将迁出技术应用到统计网站数据库并更新时间其结构。

例子

给.我看一家利用 EF Core 迁出的例子。假说.我要打造一家很简单的“Students”表,其中的蕴含两列:“Id”和“Name”。.我将应先在 Visual Studio 中打造一家新的 ASP.NET Core Web 软件源程序内容。


  1. 创立了这个新的 EF Core 活动。在 Visual Studio 中创立了这个新的 ASP.NET Core Web 应运系统活动。选用“Web Application (Model-View-Controller)”设计,那么选用“Individual User Accounts”采取真实身份手机验证。将活动命名规则为“EFCoreMigrationsExample”。


  2. 开启数据统计库高低文。在项目流程的“Models”文件目录夹中开启两个叫做“MyDbContext”的新类,并从 DbContext 类继续它。


 using Microsoft.EntityFrameworkCore; namespace EFCoreMigrationsExample.Models { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } }


“Students”特点不是个 DbSet,表达我们的的sql的“Students”表。


创建数据库模型

在产品的“仿真模型”文件目录夹中建立一新的“学子”类,并判定其的使用属性。
 namespace EFCoreMigrationsExample.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } }


启用 EF Core 迁移

打开浏览器包下水管理器管理台并输出之下系统命令来怎么安装 EF Core 机器包:
 PM> Install-Package Microsoft.EntityFrameworkCore.Tools


创建迁移

点开系统检修口理器调节台,其次发送下类操作命令来开启转迁:
 PM> Add-Migration InitialCreate


这将建设1个名是“InitialCreate”的新转入,它描绘了我国常用对数据库型号所做的就要变更。


挪动信息应如下图所显示所显示:
 using Microsoft.EntityFrameworkCore.Migrations; namespace EFCoreMigrationsExample.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Students", columns: table => new { Id = table.Column<int>(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column<string>(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Students", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Students"); } } }


迁徙建设打了个个名叫“Students”的新表,中间包括“Id”和“Name”列。升级统计资料库访问地漏安装理器管理台,读取有以下ftp命令升级统计资料库架构部署:


 PM> Update-Database


这会将转化用到数据报告库并版本更新其架构部署。


当今企业还能操作 EF Core 在企业的资料冷比对库增长、升级更新和册除大家。假如,企业还能像这向资料冷比对库增长另一个新大家:
 using EFCoreMigrationsExample.Models; namespace EFCoreMigrationsExample.Controllers { public class HomeController : Controller { private readonly MyDbContext _context; public HomeController(MyDbContext context) { _context = context; } public IActionResult Index() { var student = new Student { Name = "John" }; _context.Students.Add(student); _context.SaveChanges(); return View(); } } }


此源代码新建 Student 类的新事例并将其 Name 防御力设立为“John”。第二步它将我们使用到 Students DbSet 并将改进存有到数据显示库。

结论

EF Core 迁址带来新一种方便快捷的具体方法来工作软件编译程序中的的数据库视图结构改变。


本段介绍书应该如何运用 EF Core 挪动打造活动简简单单的数剧库系统组织架构,分为打造活动 DbContext、界定模形、开始挪动和内容更新数剧库系统组织架构。


这只能 EF Core 可能做的时候的准备。您可能实用 EF Core 检查和操作流程统计资料,在表期间建设错综复杂的关系的,的。仅凭其易用性和宽泛的性能,EF Core 是在 .NET 中建设方案统计资料能够操作系统软件的绝妙取舍。


这篇的帮助您始于选用 EF Core 移动。假如您有其它话题或一件,请在下方空间说说。编写代码开心快乐!

跟着我

、 、 、 、

也发布

바카라사이트 바카라사이트 온라인바카라