.net core migrations案例

1.新建一个webApi(MV C)项目

前提:

记得使用Nuget引入依赖

1.Microsoft.EntityFrameWorkCore

2.Microsoft.EntityFrameWorkCore.Design

3.Pemelo.EntityFrameworkCore.Mysql

开始:1.新建一个类

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace ChainTech.HRP.EPDPedia.Models
{
    [Table("dept")]
    public class Dept
	{
		public Dept()
		{
		}
        [Key]
        [Column("id")]
        [MaxLength(64)]
        public string id { get; set; }

    
        [Column("dept_name")]
        [MaxLength(64)]
        public string deptName { get; set; }


        [Column("addr")]
        [MaxLength(16)]
        public string addr { get; set; }
    }
}

2.新建一个context代码如下

using System;
using Microsoft.EntityFrameworkCore;

namespace ChainTech.HRP.EPDPedia.Database
{
	public class DeptDbContext:DbContext
	{
		public DeptDbContext(DbContextOptions<DeptDbContext> options):base(options)
		{
		}
        public DbSet<Dept> Dept { get; set; }
    }

}

3.在appsettings.json中加入 连接数据库的

   "AllowedHosts": "*",
    "ConnectionStrings": {
        "SourceDbContext": "server=127.0.0.1;UserId=账号;password=你的数据库密码;database=数据库;port=3306;CharSet=utf8;"
    },

4.在statup.cs中的configServices中加入以下代码

services.AddDbContext<SourceDbContext>(options => options.UseMySql(Configuration.GetConnectionString("SourceDbContext"), MySqlServerVersion.LatestSupportedServerVersion));

5.打开控制台

先安装ef工具:dotnet tool install --global dotnet-ef

6.打开当前项目的终端输入

dotnet ef migrations add InitialCreate
注意:add后面的其实是新增的文件的一个名字

7.dotnet ef database update

数据库就多了一张你刚刚那张表和实体类映射的

.NET Core实体框架(Entity Framework Core)是一个用于.NET Core平台的对象关系映射(ORM)框架,它提供了一种简化数据库访问和操作的方式。下面是对.NET Core实体框架的介绍: 1. 数据库上下文(DbContext):数据库上下文是.NET Core实体框架的核心组件之一,它表示与数据库的会话,并提供了对数据库的访问和操作。通过定义派生自DbContext的类,可以创建数据库上下文对象,并在其中定义实体集和数据库表之间的映射关系。 2. 实体类(Entity Class):实体类是代表数据库表的.NET类。通过定义实体类,可以将数据库表中的每一行数据映射到一个对象实例上。实体类通常包含属性来表示表中的列,并且可以定义关系属性来表示表之间的关联关系。 3. 数据迁移(Data Migration):数据迁移是.NET Core实体框架中的一个重要特性,它允许开发人员对数据库模式进行版本控制和管理。通过使用数据迁移,可以轻松地在应用程序的开发过程中对数据库模式进行更改,并将这些更改应用到目标数据库中。 4. LINQ查询(LINQ Query):.NET Core实体框架支持使用LINQ(Language Integrated Query)进行数据查询。通过使用LINQ查询,可以以面向对象的方式编写数据库查询语句,而无需直接编写SQL语句。 5. 数据库提供程序(Database Provider):.NET Core实体框架支持多种数据库提供程序,包括Microsoft SQL Server、MySQL、SQLite等。通过选择适当的数据库提供程序,可以与不同类型的数据库进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值