EF Core Procedimiento de migración de datos

resumen

En el desarrollo, el desarrollo de formas de usar código de EF en primer lugar, a continuación, si se trata de tablas de datos de cambio, cómo hacerlo? Por supuesto, si un nuevo proyecto, elimine la base de datos, luego reconstruir en la línea, por lo que si el proyecto está en línea, la base de datos ya contiene datos, a continuación, elimine la base de datos para regenerar a morir, entonces, ¿cómo se puede solucionar? Ef proporciona una operación de transferencia de datos. ¿Cómo hacer esta operación específica.

pasos de migración de datos

entorno de desarrollo vs2017 + MySQL

Aquí a la web, por ejemplo. ¿Cómo concretar la operación.

1, una nueva aplicación web.

Encontrado sitio Asp.Net Core, hay cambios en la estructura del proyecto, estructura del proyecto es el siguiente:

Wwwroot encuentra aquí y se trasladó al sitio a continuación, se separan antes. Esto está más cerca del proyecto asp.net mvc estructura original.

2, EF instalación

Uso Nuget instalado, el siguiente dos paquetes

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Tools

Pomelo.EntityFrameworkCore.MySql

Herramientas paquete, una función de migración de datos, operaciones de actualización de base de datos.

3, la adición de las clases de prueba y el contexto de base de datos

using System;
usando System.Collections.Generic;
usando System.ComponentModel.DataAnnotations;
usando System.ComponentModel.DataAnnotations.Schema;
usando System.Linq;
usando System.Threading.Tasks;

Wolfy.MigrationDemo.Models de espacio de nombres
{Usuario clase pública
    {
        [Llave]
        public int Id {conjunto; obtener; }
        public string Nombre {conjunto; obtener; }
        DateTime pública CreateTime {SET; obtener; } = DateTime.Now;
        DateTime pública ModifyTime {SET; obtener; } = DateTime.Now;
    }
}

base de datos de contexto

Nota: Este paquete necesita ser añadido Pomelo.EntityFrameworkCore.MySql

usando Microsoft.EntityFrameworkCore;
using System;
usando System.Collections.Generic;
usando System.Linq;
usando System.Threading.Tasks;
usando Wolfy.MigrationDemo.Models;

espacio de nombres Wolfy.MigrationDemo.Data
{
    MyContext clase pública: DbContext
    {
        pública DbSet <usuario> Usuarios {SET; obtener; }
        override protected void OnConfiguring (DbContextOptionsBuilder optionsBuilder)
          => OptionsBuilder
              .UseMySql (@ "Servidor = localhost; Database = migrationtest; uid = root; pwd = ABCD;");
    }
}

4, mediante la generación de una migración de base de datos

En el Nuget vs consola, escriba el siguiente comando

Añadir a la migración init

figura

Después de la inicialización exitosa, en solución, aparece el siguiente directorio

 Nota: Cuando los nuevos proyectos, preferentemente en el directorio Inglés, en el caso de la versión 2.0, o cuando se ejecuta el comando, no serán ilegibles debido chino, lo que resulta en un error de formato JSON.

Generar la base de datos

 

Comando se ejecuta correctamente, generar la base de datos

Después de insertar el ensayo de migración de datos

 

        Índice IActionResult pública ()
        {
            usando (MyContext db = new MyContext ())
            {
                db.MyUsers.Add (nueva Models.User {Name = "Wolfy"});
                db.SaveChanges ();
            }
            Regresar ver ();
        }

 

Dos, con el fin de facilitar las estadísticas, tenemos que la edad del usuario, entonces podemos pensar campos para agregar usuarios, a través de la migración de datos, agregar campos, y no afectará a los datos originales.

clase de entidad figura, los siguientes cambios

 

    Usuario clase pública
    {
        [Llave]
        public int Id {conjunto; obtener; }
        public string Nombre {conjunto; obtener; }
        DateTime pública CreateTime {SET; obtener; } = DateTime.Now;
        DateTime pública ModifyTime {SET; obtener; } = DateTime.Now;
        public int Edad {conjunto; obtener; }
    }

El mandato de migración

 

PM> Add-init Migración
Para deshacer esta acción, usar Remove-migración.
PM> Actualización de Base de datos de init
La aplicación de la migración '20170917062429_init'.
Hecho.
PM> Add-Migración updatedb
Para deshacer esta acción, usar Remove-migración.
PM> Actualización de Base de datos de updatedb
La aplicación de la migración '20170917063252_updatedb'.
Hecho.
PM>

Ver los cambios en la tabla de datos

resumen

En este artículo se presenta el funcionamiento básico de las primeras formas de código de migración de datos.

 

Transferencia: https: //www.imooc.com/article/27276

Supongo que te gusta

Origin www.cnblogs.com/jnm121/p/12558553.html
Recomendado
Clasificación