Escribió recientemente un proyecto de fondo tarea de sondeo, entendiendo por la elección final de cuarzo, ya que es un proyecto, la primera es una capa de acceso a la base de datos, base de .NET ha estado fuera de 3,0, y blanco, también quiero tratar, o personales como marco ORM, hablando de marco ORM de Microsoft primero debe pensar en el ADO.NET Entity Framework, bien entonces me dejó hasta barra de entrada, donde voy a empezar con la aplicación de consola de la consola central .net para empezar.
Dado que es marco ORM, debemos primero tenemos Modelo (código primero utiliza este modo), el funcionamiento normal después de una comida
Nuestras clases son las siguientes:
público de clase QuartJobLog { privada int _ID = 0 ; privado cadena _job_name; privado cadena _job_result; privado cadena _job_exception; privada int _job_exetime; privada _job_exedate DateTime; privada int _job_exestate; privada _addtime DateTime; /// <summary> /// 主键 /// </ summary> pública int Id { get=> _Id; set => _id = valor; } /// <summary> /// /// </ summary> pública int jobid { get ; establecer ; } /// <summary> /// 任务名称 /// </ summary> pública cadena JOB_NAME { get => _job_name; set => _job_name = valor; } /// <summary> /// 执行的结果 /// </ summary> pública cadena Job_result { get => _job_result;SET => _job_result = valor;} /// <summary> /// información de anomalía para realizar tareas /// </ resumen> pública Cadena Job_exception { GET => _job_exception; SET => _job_exception = valor;} /// < resumen> /// tiempo MS unidad /// </ summary> pública int Job_exetime { GET => _job_exetime; SET => _job_exetime = valor;} /// <summary> /// fecha y hora de la ejecución de las tareas /// <summary /> pública{Job_exedate el DateTime GET => _job_exedate; SET => _job_exedate = valor;} /// <summary> /// resultado de la ejecución normal de 0, 1 anormal /// </ resumen> pública int Job_exestate { GET => _job_exestate; SET = > _job_exestate = valor;} /// <summary> /// tiempo de ejecución de la tarea /// </ resumen> pública del DateTime addTime { GET => _addtime; SET => _addtime = valor;} }
público de clase QuartJobSchedule { privada int _id = 0 ; privado cadena _job_name; privado cadena _job_assembly; privado cadena _job_class; privado cadena _job_corn; privado int _job_type = 1 ; privada int _job_execount = 0 ; privada _job_starttime DateTime; privada int _job_state = 0 ; privada _addtime DateTime; /// <summary> /// 主键 /// </ summary> pública int Id { get => _id; set => _id = valor; } /// <summary> /// 任务名称 /// </ summary> pública cadena JOB_NAME { get => _job_name; set => _job_name = valor; } /// <summary> /// 执行的方式的DLL名称 /// </ summary> pública cadena Job_Assembly { get=> _Job_assembly; SET => _job_assembly = valor;} /// <summary> /// método de realizar la clase /// </ resumen> pública Cadena Job_Class { GET => _job_class; SET => _job_class = valor;} / // <Resumen> /// misión expresión maíz /// </ resumen> pública cadena Job_Corn { GET => _job_corn; SET => _job_corn = valor;} /// <summary> /// tipo de tarea, el valor predeterminado es un simple, compleja 2 /// </ Resumen> pública int JOB_TYPE { GET => _job_type; SET => _job_type = valor;} /// <summary> /// realizar el número total de tareas, 0 indica sin límite /// </ resumen> pública int Job_Execount { GET => _job_execount; SET => _job_execount = valor;} /// <summary> /// tiempo de inicio de la tarea /// </ resumen> pública del DateTime Job_Starttime { GET => _job_starttime; SET => _job_starttime = valor;} /// <Resumen> /// preparación tarea estado 0, 1 realiza, la tentativa 2, 3 se detiene, terminando 4. /// </ resumen> público int Job_State { GET => _job_state; SET => _job_state = valor;} /// <summary> /// tarea de tiempo de creación /// </ resumen> pública del DateTime AddTime { GET => _addtime; SET => _addtime = valor;} }
A continuación, vamos añadiendo objeto de contexto
público de clase DataDBContext: DbContext { // pública DataDBContext (DbContextOptions <> DataDBContext opciones) // : base (opciones) // {} protegido anulación vacío OnConfiguring (DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseMySql ( " servidor de base de datos .; = = ** ***; User ID = ***; contraseña = **** " ); } Pública DbSet <QuartJobLog> QuartJobLogs { llegar ; establecer ; } Pública DbSet <QuartJobSchedule> QuartJobSchedules { get ;establecer ; } Protegido override void OnModelCreating (ModelBuilder modelBuilder) { base de .OnModelCreating (modelBuilder); modelBuilder.Entity <QuartJobLog> (entidad => { entity.ToTable ( " QuartJobLog " ); entity.HasKey (e => e.Id); }); modelBuilder.Entity <QuartJobSchedule> (entidad => { entity.ToTable ( " QuartJobSchedule " ); entity.HasKey (e => e.Id); }); } }
Después de que el siguiente paso es la migración de la base de datos, aquí importamos Pomelo.EntityFrameworkCore.MySql, Microsoft.EntityFrameworkCore.Tools con herramientas de gestión NuGet, tales como el funcionamiento VS se ha completado, nos Nuget paquete de insumos programa de control de gestión
Migración de comandos, First_Migration 1.Add-migración, 2.Update Base de datos de seleccionar la opción correspondiente, y si la biblioteca de clases, a continuación, elija el proyecto de biblioteca de clases
Después de generar con éxito la tabla correspondiente en la base de datos existe una