using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using bdAntifraude.db;

namespace bdAntifraude.dbcontext;

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

    public virtual DbSet<ACCESOSWEB> ACCESOSWEB { get; set; }

    public virtual DbSet<ACTOSADMINPREP> ACTOSADMINPREP { get; set; }

    public virtual DbSet<ADSCRIPCION> ADSCRIPCION { get; set; }

    public virtual DbSet<ALTOS_CARGOS> ALTOS_CARGOS { get; set; }

    public virtual DbSet<AMORTIZACIONESPRESTAMOS> AMORTIZACIONESPRESTAMOS { get; set; }

    public virtual DbSet<APLICACION_PRESUPUESTARIA> APLICACION_PRESUPUESTARIA { get; set; }

    public virtual DbSet<ASCENDIENTES> ASCENDIENTES { get; set; }

    public virtual DbSet<ASCENDIENTESHISTORICOIRPF> ASCENDIENTESHISTORICOIRPF { get; set; }

    public virtual DbSet<ASIGNACIONTEMPORALCOBRADA> ASIGNACIONTEMPORALCOBRADA { get; set; }

    public virtual DbSet<ASISTENCIAS> ASISTENCIAS { get; set; }

    public virtual DbSet<ASISTENCIASSESIONES> ASISTENCIASSESIONES { get; set; }

    public virtual DbSet<AUTORIZACIONESGRUPOS> AUTORIZACIONESGRUPOS { get; set; }

    public virtual DbSet<AUTORIZACIONESUSUARIOS> AUTORIZACIONESUSUARIOS { get; set; }

    public virtual DbSet<BANCOS> BANCOS { get; set; }

    public virtual DbSet<BLOQUEOS> BLOQUEOS { get; set; }

    public virtual DbSet<CERTIFICADOSPUBLICOS> CERTIFICADOSPUBLICOS { get; set; }

    public virtual DbSet<CODIGOSPOSTALES> CODIGOSPOSTALES { get; set; }

    public virtual DbSet<COMARCAS> COMARCAS { get; set; }

    public virtual DbSet<COMPLEMENTONIVEL> COMPLEMENTONIVEL { get; set; }

    public virtual DbSet<COMPLEMENTOSCARRERA> COMPLEMENTOSCARRERA { get; set; }

    public virtual DbSet<CONCEPTOSGENERALES> CONCEPTOSGENERALES { get; set; }

    public virtual DbSet<CONCEPTOSPUESTOSDETRABAJO> CONCEPTOSPUESTOSDETRABAJO { get; set; }

    public virtual DbSet<CONCEPTOSTIPOSPUESTOSTRABAJO> CONCEPTOSTIPOSPUESTOSTRABAJO { get; set; }

    public virtual DbSet<CONEXIONES> CONEXIONES { get; set; }

    public virtual DbSet<CONEXIONESBD> CONEXIONESBD { get; set; }

    public virtual DbSet<CONSOLIDACION_GRADO> CONSOLIDACION_GRADO { get; set; }

    public virtual DbSet<CONTRATOS> CONTRATOS { get; set; }

    public virtual DbSet<CORREOS> CORREOS { get; set; }

    public virtual DbSet<CUENTASCORREO> CUENTASCORREO { get; set; }

    public virtual DbSet<CUENTASCOTIZACIONPATRONAL> CUENTASCOTIZACIONPATRONAL { get; set; }

    public virtual DbSet<CUERPO> CUERPO { get; set; }

    public virtual DbSet<CUMPLIMIENTO_TRIENIOS> CUMPLIMIENTO_TRIENIOS { get; set; }

    public virtual DbSet<CURSOS> CURSOS { get; set; }

    public virtual DbSet<DECLARACIONESDEVENGOS> DECLARACIONESDEVENGOS { get; set; }

    public virtual DbSet<DEDUCCIONESRETENCIONESJUDICI> DEDUCCIONESRETENCIONESJUDICI { get; set; }

    public virtual DbSet<DEPARTAMENTOSCH> DEPARTAMENTOSCH { get; set; }

    public virtual DbSet<DESGLOSETRIYCOMPLANTIGUEDAD> DESGLOSETRIYCOMPLANTIGUEDAD { get; set; }

    public virtual DbSet<DEVENGOS> DEVENGOS { get; set; }

    public virtual DbSet<DIASACOMPENSARPERSONAS> DIASACOMPENSARPERSONAS { get; set; }

    public virtual DbSet<DIASCOMPENSACION> DIASCOMPENSACION { get; set; }

    public virtual DbSet<DIFERENCIAPAGODELEGADO> DIFERENCIAPAGODELEGADO { get; set; }

    public virtual DbSet<DIFERENCIATRIENIOS> DIFERENCIATRIENIOS { get; set; }

    public virtual DbSet<DIPUTADOS> DIPUTADOS { get; set; }

    public virtual DbSet<DOCENCIA> DOCENCIA { get; set; }

    public virtual DbSet<DOTACION> DOTACION { get; set; }

    public virtual DbSet<ENFERMEDADES> ENFERMEDADES { get; set; }

    public virtual DbSet<ENLACES> ENLACES { get; set; }

    public virtual DbSet<ENUMERACIONES> ENUMERACIONES { get; set; }

    public virtual DbSet<ESPECIFICOS> ESPECIFICOS { get; set; }

    public virtual DbSet<ESTADOSASISTENCIA> ESTADOSASISTENCIA { get; set; }

    public virtual DbSet<EXCEPCIONESHORARIOS> EXCEPCIONESHORARIOS { get; set; }

    public virtual DbSet<EXCEPCIONESPERMISOS> EXCEPCIONESPERMISOS { get; set; }

    public virtual DbSet<EXPEDIENTESPERSONAS> EXPEDIENTESPERSONAS { get; set; }

    public virtual DbSet<FAMILIA> FAMILIA { get; set; }

    public virtual DbSet<FICHEROS> FICHEROS { get; set; }

    public virtual DbSet<FICHEROSCONFIGURACION> FICHEROSCONFIGURACION { get; set; }

    public virtual DbSet<FIESTAS> FIESTAS { get; set; }

    public virtual DbSet<FORMACION> FORMACION { get; set; }

    public virtual DbSet<FORMACIONIMPARTIDA> FORMACIONIMPARTIDA { get; set; }

    public virtual DbSet<GRUPO> GRUPO { get; set; }

    public virtual DbSet<GRUPOBD> GRUPOBD { get; set; }

    public virtual DbSet<GRUPOSENUMERACIONES> GRUPOSENUMERACIONES { get; set; }

    public virtual DbSet<GRUPOSINCIDENCIAS> GRUPOSINCIDENCIAS { get; set; }

    public virtual DbSet<GRUPOSMENUS> GRUPOSMENUS { get; set; }

    public virtual DbSet<GRUPOSUSUARIOS> GRUPOSUSUARIOS { get; set; }

    public virtual DbSet<GRUPO_ALTOCARGO> GRUPO_ALTOCARGO { get; set; }

    public virtual DbSet<HIJOS> HIJOS { get; set; }

    public virtual DbSet<HIJOSHISTORICOIRPF> HIJOSHISTORICOIRPF { get; set; }

    public virtual DbSet<HISTORICOIRPF> HISTORICOIRPF { get; set; }

    public virtual DbSet<HORARIOS> HORARIOS { get; set; }

    public virtual DbSet<HORARIOSCURSOS> HORARIOSCURSOS { get; set; }

    public virtual DbSet<HORARIOSPERSONAS> HORARIOSPERSONAS { get; set; }

    public virtual DbSet<HORASEXTRAS> HORASEXTRAS { get; set; }

    public virtual DbSet<HORASMES> HORASMES { get; set; }

    public virtual DbSet<HUELGAS> HUELGAS { get; set; }

    public virtual DbSet<IDIOMAS> IDIOMAS { get; set; }

    public virtual DbSet<INCIDENCIAS> INCIDENCIAS { get; set; }

    public virtual DbSet<INCIDENCIASCONTROLHORARIO> INCIDENCIASCONTROLHORARIO { get; set; }

    public virtual DbSet<LEGISLATURAS> LEGISLATURAS { get; set; }

    public virtual DbSet<LINEASVIDAADMINISTRATIVA> LINEASVIDAADMINISTRATIVA { get; set; }

    public virtual DbSet<LOGS> LOGS { get; set; }

    public virtual DbSet<MAPEOSUSUARIOS> MAPEOSUSUARIOS { get; set; }

    public virtual DbSet<MATERNIDADES> MATERNIDADES { get; set; }

    public virtual DbSet<MENUS> MENUS { get; set; }

    public virtual DbSet<MOTIVOS_ADMINISTRATIVOS> MOTIVOS_ADMINISTRATIVOS { get; set; }

    public virtual DbSet<MUNICIPIOS> MUNICIPIOS { get; set; }

    public virtual DbSet<NIVEL> NIVEL { get; set; }

    public virtual DbSet<NOMINAS> NOMINAS { get; set; }

    public virtual DbSet<NOMINATRABAJADORCABECERA> NOMINATRABAJADORCABECERA { get; set; }

    public virtual DbSet<NOMINATRABAJADORLINEA> NOMINATRABAJADORLINEA { get; set; }

    public virtual DbSet<NOMINATRABAJADORLINEADESGLOSE> NOMINATRABAJADORLINEADESGLOSE { get; set; }

    public virtual DbSet<NOMINATRABAJADORPAGOESPECIE> NOMINATRABAJADORPAGOESPECIE { get; set; }

    public virtual DbSet<OCUPACION> OCUPACION { get; set; }

    public virtual DbSet<OTRASRETRIBUCIONES> OTRASRETRIBUCIONES { get; set; }

    public virtual DbSet<PAGINASWEBINTRANET> PAGINASWEBINTRANET { get; set; }

    public virtual DbSet<PARTIDOSPOLITICOS> PARTIDOSPOLITICOS { get; set; }

    public virtual DbSet<PERCEPTORES> PERCEPTORES { get; set; }

    public virtual DbSet<PERIODOSSILTRA> PERIODOSSILTRA { get; set; }

    public virtual DbSet<PERMISOS> PERMISOS { get; set; }

    public virtual DbSet<PERMISOSSINRETRIBUCION> PERMISOSSINRETRIBUCION { get; set; }

    public virtual DbSet<PERSONAS> PERSONAS { get; set; }

    public virtual DbSet<PERSONASCURSOS> PERSONASCURSOS { get; set; }

    public virtual DbSet<PERSONASLEGISLATURAS> PERSONASLEGISLATURAS { get; set; }

    public virtual DbSet<PICADAS> PICADAS { get; set; }

    public virtual DbSet<PLANTILLAS> PLANTILLAS { get; set; }

    public virtual DbSet<POSIBLESESTADOSASISTENCIA> POSIBLESESTADOSASISTENCIA { get; set; }

    public virtual DbSet<PRESTAMOS> PRESTAMOS { get; set; }

    public virtual DbSet<PROCESOS> PROCESOS { get; set; }

    public virtual DbSet<PRODUCTIVIDAD> PRODUCTIVIDAD { get; set; }

    public virtual DbSet<PROFESORESCURSOS> PROFESORESCURSOS { get; set; }

    public virtual DbSet<PROVINCIAS> PROVINCIAS { get; set; }

    public virtual DbSet<PROVISION> PROVISION { get; set; }

    public virtual DbSet<PUESTOS> PUESTOS { get; set; }

    public virtual DbSet<PUESTOSTRABAJO> PUESTOSTRABAJO { get; set; }

    public virtual DbSet<REDUCCIONDEJORNADA> REDUCCIONDEJORNADA { get; set; }

    public virtual DbSet<REGISTRODEACTIVIDADREST> REGISTRODEACTIVIDADREST { get; set; }

    public virtual DbSet<RELOJES> RELOJES { get; set; }

    public virtual DbSet<RETENCIONJUDICIAL> RETENCIONJUDICIAL { get; set; }

    public virtual DbSet<RETRIBUCIONBASICA> RETRIBUCIONBASICA { get; set; }

    public virtual DbSet<ROLESDEPARTAMENTOSCH> ROLESDEPARTAMENTOSCH { get; set; }

    public virtual DbSet<RPT> RPT { get; set; }

    public virtual DbSet<RPT_DESCRIP> RPT_DESCRIP { get; set; }

    public virtual DbSet<SALAS> SALAS { get; set; }

    public virtual DbSet<SERVICIOS> SERVICIOS { get; set; }

    public virtual DbSet<SESIONES> SESIONES { get; set; }

    public virtual DbSet<SITUACION> SITUACION { get; set; }

    public virtual DbSet<SITUACIONACTUALIRPF> SITUACIONACTUALIRPF { get; set; }

    public virtual DbSet<SUBGRUPOSINCIDENCIAS> SUBGRUPOSINCIDENCIAS { get; set; }

    public virtual DbSet<SUBUNIDADADMINISTRATIVA> SUBUNIDADADMINISTRATIVA { get; set; }

    public virtual DbSet<SUPERVISORES> SUPERVISORES { get; set; }

    public virtual DbSet<TARIFACOTIZACION> TARIFACOTIZACION { get; set; }

    public virtual DbSet<TARJETAS> TARJETAS { get; set; }

    public virtual DbSet<TIPOACTOSADMINISTRATIVOS> TIPOACTOSADMINISTRATIVOS { get; set; }

    public virtual DbSet<TIPOAPTOSADMINISTRATIVOS> TIPOAPTOSADMINISTRATIVOS { get; set; }

    public virtual DbSet<TIPOSDOCACTOSADMINPREP> TIPOSDOCACTOSADMINPREP { get; set; }

    public virtual DbSet<TIPOSESTADOSASISTENCIA> TIPOSESTADOSASISTENCIA { get; set; }

    public virtual DbSet<TIPOSOCUPACIONES> TIPOSOCUPACIONES { get; set; }

    public virtual DbSet<TIPOSPUESTOSTRABAJO> TIPOSPUESTOSTRABAJO { get; set; }

    public virtual DbSet<TIPOSSESIONES> TIPOSSESIONES { get; set; }

    public virtual DbSet<TIPOSTRAMOS> TIPOSTRAMOS { get; set; }

    public virtual DbSet<TIPOS_ALTOCARGO> TIPOS_ALTOCARGO { get; set; }

    public virtual DbSet<TIPOS_PERSONAL> TIPOS_PERSONAL { get; set; }

    public virtual DbSet<TIPOS_PERSONAS> TIPOS_PERSONAS { get; set; }

    public virtual DbSet<TITULACIONES> TITULACIONES { get; set; }

    public virtual DbSet<TRABAJADORTIEMPOPARCIAL> TRABAJADORTIEMPOPARCIAL { get; set; }

    public virtual DbSet<TRAMOSSILTRA> TRAMOSSILTRA { get; set; }

    public virtual DbSet<TRIENIOS> TRIENIOS { get; set; }

    public virtual DbSet<TRIENIOS_ALTOCARGO> TRIENIOS_ALTOCARGO { get; set; }

    public virtual DbSet<TURNOSTEMPORALES> TURNOSTEMPORALES { get; set; }

    public virtual DbSet<UNIDADADMINISTRATIVA> UNIDADADMINISTRATIVA { get; set; }

    public virtual DbSet<USUARIOS> USUARIOS { get; set; }

    public virtual DbSet<VALIDACIONDOCUMENTOS> VALIDACIONDOCUMENTOS { get; set; }

    public virtual DbSet<VALORESNOMINA> VALORESNOMINA { get; set; }

    public virtual DbSet<VEHICULOS> VEHICULOS { get; set; }

    public virtual DbSet<VIDA_ADMINISTRATIVA> VIDA_ADMINISTRATIVA { get; set; }

    public virtual DbSet<V_ASISTENCIAS_EXTENDIDA> V_ASISTENCIAS_EXTENDIDA { get; set; }

    public virtual DbSet<V_ULTIMOESTADOASISTENCIA> V_ULTIMOESTADOASISTENCIA { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasDefaultSchema("ANTIFRAUDE");

        modelBuilder.Entity<ACCESOSWEB>(entity =>
        {
            entity.HasKey(e => e.IDACCESO).HasName("ACCESOSWEB_PK");

            entity.Property(e => e.IDACCESO).HasPrecision(11);
            entity.Property(e => e.ACCESOCADUCADO).HasPrecision(1);
            entity.Property(e => e.ACCESOCONCEDIDO).HasPrecision(1);
            entity.Property(e => e.CERTIFICADO).HasColumnType("BLOB");
            entity.Property(e => e.CLAVEACCESO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.DOCUMENTOIDENTIDAD)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.DOCUMENTOREPRESENTANTE)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.FECHAHORA).HasColumnType("DATE");
            entity.Property(e => e.IDUSUARIO).HasPrecision(11);
            entity.Property(e => e.NOMBREREPRESENTANTE)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.RAZONSOCIAL)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.TIPOACCESO).HasPrecision(11);
            entity.Property(e => e.TIPOUSUARIO).HasPrecision(11);
        });

        modelBuilder.Entity<ACTOSADMINPREP>(entity =>
        {
            entity.HasKey(e => e.IDACTOADMINISTRATIVO).HasName("ACTOSADMINPREP_PK");

            entity.Property(e => e.IDACTOADMINISTRATIVO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDMOTIVOADMINISTRATIVO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MOTIVOTOMAPOSESION)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.ORGANOCOMPETENTE)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TEXTO1)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TEXTO2)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TEXTO3)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDMOTIVOADMINISTRATIVONavigation).WithMany(p => p.ACTOSADMINPREP)
                .HasForeignKey(d => d.IDMOTIVOADMINISTRATIVO)
                .HasConstraintName("ACTOSADMINPREP_FK2");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.ACTOSADMINPREP)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("ACTOSADMINPREP_FK3");
        });

        modelBuilder.Entity<ADSCRIPCION>(entity =>
        {
            entity.HasKey(e => e.IDADSCRIPCION).HasName("ADSCRIPCION_PK");

            entity.Property(e => e.IDADSCRIPCION).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.ADSCRIPCION1)
                .HasMaxLength(3)
                .IsUnicode(false)
                .IsFixedLength()
                .HasColumnName("ADSCRIPCION");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false);
        });

        modelBuilder.Entity<ALTOS_CARGOS>(entity =>
        {
            entity.HasKey(e => e.IDALTOCARGO).HasName("ALTOS_CARGOS_PK");

            entity.Property(e => e.IDALTOCARGO).HasPrecision(10);
            entity.Property(e => e.APELLIDO1)
                .HasMaxLength(50)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.APELLIDO2)
                .HasMaxLength(50)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.AREA)
                .HasMaxLength(2)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.CONTRASENA)
                .HasMaxLength(8)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHA_CESE)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_NACIMIENTO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_NOMBRAMIENTO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_TRIENIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.GCRecord).HasColumnType("NUMBER(38)");
            entity.Property(e => e.GRUPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NIF)
                .HasMaxLength(10)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(25)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.Oid)
                .HasMaxLength(36)
                .IsUnicode(false)
                .IsFixedLength();
            entity.Property(e => e.OptimisticLockField).HasColumnType("NUMBER(38)");
            entity.Property(e => e.SEXO)
                .HasMaxLength(1)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
            entity.Property(e => e.SITUACION)
                .HasMaxLength(2)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TIPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.USUARIO)
                .HasMaxLength(8)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<AMORTIZACIONESPRESTAMOS>(entity =>
        {
            entity.HasKey(e => e.IDAMORTIZACIONESPRESTAMOS).HasName("PRIMARY");

            entity.HasIndex(e => e.IDPRESTAMO, "AMORTIZACIONESPRESTAMOS_IDPRES");

            entity.HasIndex(e => e.IDNOMINAAMORTIZADO, "AMORTIZACIONESPRESTAMOS_NOMINA");

            entity.Property(e => e.IDAMORTIZACIONESPRESTAMOS).HasPrecision(10);
            entity.Property(e => e.AMORTIZADO).HasPrecision(1);
            entity.Property(e => e.AÑO).HasPrecision(10);
            entity.Property(e => e.CANTIDADAMORTIZADA).HasColumnType("FLOAT");
            entity.Property(e => e.IDNOMINAAMORTIZADO).HasPrecision(10);
            entity.Property(e => e.IDPRESTAMO).HasPrecision(10);
            entity.Property(e => e.IMPORTEPAGOESPECIE).HasColumnType("FLOAT");
            entity.Property(e => e.INTERESBANCOESPAÑA).HasColumnType("FLOAT");
            entity.Property(e => e.MES).HasPrecision(10);
            entity.Property(e => e.SALDORESTANTE).HasColumnType("FLOAT");

            entity.HasOne(d => d.IDNOMINAAMORTIZADONavigation).WithMany(p => p.AMORTIZACIONESPRESTAMOS)
                .HasForeignKey(d => d.IDNOMINAAMORTIZADO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("AMORTIZACIONESPRESTAMOS_FK_02");

            entity.HasOne(d => d.IDPRESTAMONavigation).WithMany(p => p.AMORTIZACIONESPRESTAMOS)
                .HasForeignKey(d => d.IDPRESTAMO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("AMORTIZACIONESPRESTAMOS_FK_01");
        });

        modelBuilder.Entity<APLICACION_PRESUPUESTARIA>(entity =>
        {
            entity.HasKey(e => e.IDAPRESUP).HasName("APLICACION_PRESUPUESTARIA_PK");

            entity.Property(e => e.IDAPRESUP).HasPrecision(10);
            entity.Property(e => e.ACTIVA)
                .HasMaxLength(1)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("NULL")
                .IsFixedLength();
            entity.Property(e => e.APLICACION)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(7,4)");
            entity.Property(e => e.CORRESPONDENCIA)
                .HasMaxLength(50)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DENOMINACION)
                .HasMaxLength(50)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDGRUPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<ASCENDIENTES>(entity =>
        {
            entity.HasKey(e => e.IDASCENDIENTES).HasName("ASCENDIENTES_PK");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "ASCENDIENTES_ENUMERACIONES_IDX");

            entity.HasIndex(e => e.IDPERSONA, "ASCENDIENTES_PERSONAS_IDX");

            entity.Property(e => e.IDASCENDIENTES).HasPrecision(10);
            entity.Property(e => e.CONVIVENCIA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHANACIMIENTO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDDISCAPACIDAD)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MOVILIDADREDUCIDA)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(80)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.ASCENDIENTES)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .HasConstraintName("ASCENDIENTES_FK_01");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.ASCENDIENTES)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("ASCENDIENTES_FK_02");
        });

        modelBuilder.Entity<ASCENDIENTESHISTORICOIRPF>(entity =>
        {
            entity.HasKey(e => e.IDASCENDIENTESHISTORICOIRPF).HasName("PRIMARY_43");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "ASCENDIENTESHISTORICOIRPF_ENUM");

            entity.HasIndex(e => e.IDHISTORICOIRPF, "ASCENDIENTESHISTORICOIRPF_HIST");

            entity.Property(e => e.IDASCENDIENTESHISTORICOIRPF).HasPrecision(10);
            entity.Property(e => e.CONVIVENCIA).HasPrecision(10);
            entity.Property(e => e.FECHANACIMIENTO).HasColumnType("DATE");
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDHISTORICOIRPF).HasPrecision(10);
            entity.Property(e => e.MOVILIDADREDUCIDA).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(80)
                .IsUnicode(false);

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.ASCENDIENTESHISTORICOIRPF)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .HasConstraintName("ASCENDIENTESHISTORICOIRP_FK_01");

            entity.HasOne(d => d.IDHISTORICOIRPFNavigation).WithMany(p => p.ASCENDIENTESHISTORICOIRPF)
                .HasForeignKey(d => d.IDHISTORICOIRPF)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("ASCENDIENTESHISTORICOIRP_FK_02");
        });

        modelBuilder.Entity<ASIGNACIONTEMPORALCOBRADA>(entity =>
        {
            entity.HasKey(e => e.IDASIGNACIONTEMP).HasName("ASIGNACIONTEMPORALCOBRADA_PK");

            entity.Property(e => e.IDASIGNACIONTEMP)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER");
            entity.Property(e => e.ANO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DIASPAGADO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IMPORTEPAGADO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.MES)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.ASIGNACIONTEMPORALCOBRADA)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("ASIGNACIONTEMPORALCOBRADA_FK1");
        });

        modelBuilder.Entity<ASISTENCIAS>(entity =>
        {
            entity.HasKey(e => e.IDASISTENCIA).HasName("PRIMARY_57");

            entity.HasIndex(e => e.IDINCIDENCIACONTROLHORARIO, "ASISTENCIAS_INCIDENCIASCONTROL");

            entity.HasIndex(e => e.IDPERSONA, "ASISTENCIAS_PESONAS_IDX");

            entity.Property(e => e.IDASISTENCIA).HasPrecision(10);
            entity.Property(e => e.ADJUNTO).HasPrecision(1);
            entity.Property(e => e.EXPEDIENTEECO)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
            entity.Property(e => e.FECHACOMPENSACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAFINTARDE).HasColumnType("DATE");
            entity.Property(e => e.FECHAOCURRENCIA).HasColumnType("DATE");
            entity.Property(e => e.FECHAOCURRENCIAFIN).HasColumnType("DATE");
            entity.Property(e => e.HORAFINMAÑANAEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINTARDEEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINCIDENCIA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOMAÑANAEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOTARDEEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASCOMPENSACION_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASRECUPERABLES).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASMAÑANAEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASTARDEEXTRAS_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.IDASISTENCIARELACIONADA).HasPrecision(10);
            entity.Property(e => e.IDINCIDENCIACONTROLHORARIO).HasPrecision(10);
            entity.Property(e => e.IDOPCIONSELECCIONADA).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NUMERODEDIAS).HasPrecision(10);
            entity.Property(e => e.NUMEROELEMENTOS).HasPrecision(10);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(500)
                .IsUnicode(false);

            entity.HasOne(d => d.IDASISTENCIARELACIONADANavigation).WithMany(p => p.InverseIDASISTENCIARELACIONADANavigation)
                .HasForeignKey(d => d.IDASISTENCIARELACIONADA)
                .HasConstraintName("ASISTENCIAS_FK_03");

            entity.HasOne(d => d.IDINCIDENCIACONTROLHORARIONavigation).WithMany(p => p.ASISTENCIAS)
                .HasForeignKey(d => d.IDINCIDENCIACONTROLHORARIO)
                .HasConstraintName("ASISTENCIAS_FK_01");

            entity.HasOne(d => d.IDOPCIONSELECCIONADANavigation).WithMany(p => p.ASISTENCIAS)
                .HasForeignKey(d => d.IDOPCIONSELECCIONADA)
                .HasConstraintName("ASISTENCIAS_FK_04");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.ASISTENCIAS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("ASISTENCIAS_FK_02");
        });

        modelBuilder.Entity<ASISTENCIASSESIONES>(entity =>
        {
            entity.HasKey(e => e.IDASISTENCIASESION).HasName("PRIMARY_39");

            entity.HasIndex(e => e.IDLIQUIDACION, "ASISTENCIASSESIONES_LIQUIDACIO");

            entity.HasIndex(e => e.IDSESION, "PERSONASAISTENCIASSESIONES_ASI");

            entity.HasIndex(e => e.IDPERSONA, "PERSONASAISTENCIASSESIONES_PER");

            entity.Property(e => e.IDASISTENCIASESION).HasPrecision(10);
            entity.Property(e => e.IDLIQUIDACION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDSESION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDLIQUIDACIONNavigation).WithMany(p => p.ASISTENCIASSESIONES)
                .HasForeignKey(d => d.IDLIQUIDACION)
                .HasConstraintName("ASISTENCIASSESIONES_FK_02");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.ASISTENCIASSESIONES)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("ASISTENCIASSESIONES_FK_01");

            entity.HasOne(d => d.IDSESIONNavigation).WithMany(p => p.ASISTENCIASSESIONES)
                .HasForeignKey(d => d.IDSESION)
                .HasConstraintName("ASISTENCIASSESIONES_FK_03");
        });

        modelBuilder.Entity<AUTORIZACIONESGRUPOS>(entity =>
        {
            entity.HasKey(e => e.IDAUTORIZACIONGRUPO).HasName("PRIMARY_65");

            entity.HasIndex(e => e.IDGRUPO, "AUTORIZACIONESGRUPOS_GRUPOSUSU");

            entity.HasIndex(e => new { e.IDPERMISO, e.IDGRUPO }, "AUTORIZACIONESGRUPOS_PERMISOS_").IsUnique();

            entity.Property(e => e.IDAUTORIZACIONGRUPO).HasPrecision(10);
            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.IDPERMISO).HasPrecision(10);
            entity.Property(e => e.OTROSPERMISOS).HasPrecision(1);
            entity.Property(e => e.PERMITIRCONSULTAS).HasPrecision(1);
            entity.Property(e => e.PERMITIRELIMINACIONES).HasPrecision(1);
            entity.Property(e => e.PERMITIRIMPRESIONES).HasPrecision(1);
            entity.Property(e => e.PERMITIRMODIFICACIONES).HasPrecision(1);
            entity.Property(e => e.PERMITIRNUEVOS).HasPrecision(1);

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.AUTORIZACIONESGRUPOS)
                .HasForeignKey(d => d.IDGRUPO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("AUTORIZACIONESGRUPOS_FK_01");

            entity.HasOne(d => d.IDPERMISONavigation).WithMany(p => p.AUTORIZACIONESGRUPOS)
                .HasForeignKey(d => d.IDPERMISO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("AUTORIZACIONESGRUPOS_FK_02");
        });

        modelBuilder.Entity<AUTORIZACIONESUSUARIOS>(entity =>
        {
            entity.HasKey(e => e.IDAUTORIZACIONES).HasName("PRIMARY_7");

            entity.HasIndex(e => new { e.IDPERMISO, e.IDUSUARIO }, "AUTORIZACIONESUSUARIOS_PERMISO").IsUnique();

            entity.HasIndex(e => e.IDUSUARIO, "AUTORIZACIONES_GRUPOS_IDX");

            entity.Property(e => e.IDAUTORIZACIONES).HasPrecision(10);
            entity.Property(e => e.IDPERMISO).HasPrecision(10);
            entity.Property(e => e.IDUSUARIO).HasPrecision(10);
            entity.Property(e => e.OTROSPERMISOS).HasPrecision(1);
            entity.Property(e => e.PERMITIRCONSULTAS).HasPrecision(1);
            entity.Property(e => e.PERMITIRELIMINACIONES).HasPrecision(1);
            entity.Property(e => e.PERMITIRIMPRESIONES).HasPrecision(1);
            entity.Property(e => e.PERMITIRMODIFICACIONES).HasPrecision(1);
            entity.Property(e => e.PERMITIRNUEVOS).HasPrecision(1);

            entity.HasOne(d => d.IDPERMISONavigation).WithMany(p => p.AUTORIZACIONESUSUARIOS)
                .HasForeignKey(d => d.IDPERMISO)
                .HasConstraintName("AUTORIZACIONESUSUARIOS_FK_01");

            entity.HasOne(d => d.IDUSUARIONavigation).WithMany(p => p.AUTORIZACIONESUSUARIOS)
                .HasForeignKey(d => d.IDUSUARIO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("AUTORIZACIONESUSUARIOS_FK_02");
        });

        modelBuilder.Entity<BANCOS>(entity =>
        {
            entity.HasKey(e => e.IDBANCO).HasName("PRIMARY_18");

            entity.HasIndex(e => e.CODIGO, "CODIGO_UNIQUE").IsUnique();

            entity.Property(e => e.IDBANCO).HasPrecision(10);
            entity.Property(e => e.BIC)
                .HasMaxLength(11)
                .IsUnicode(false);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(4)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(145)
                .IsUnicode(false);
            entity.Property(e => e.OBSOLETO).HasPrecision(1);
        });

        modelBuilder.Entity<BLOQUEOS>(entity =>
        {
            entity.HasKey(e => e.IDBLOQUEO).HasName("PRIMARY_58");

            entity.HasIndex(e => e.IDCONEXION, "BLOQUEOS_CONEXIONES_IDX");

            entity.Property(e => e.IDBLOQUEO).HasPrecision(10);
            entity.Property(e => e.APLICACION)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDCONEXION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDREGISTROBLOQUEADO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDCONEXIONNavigation).WithMany(p => p.BLOQUEOS)
                .HasForeignKey(d => d.IDCONEXION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("BLOQUEOS_FK_01");
        });

        modelBuilder.Entity<CERTIFICADOSPUBLICOS>(entity =>
        {
            entity.HasKey(e => e.IDCERTIFICADO).HasName("CERTIFICADOSPUBLICOS_PK");

            entity.Property(e => e.IDCERTIFICADO)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER");
            entity.Property(e => e.APELLIDOS)
                .HasMaxLength(30)
                .IsUnicode(false);
            entity.Property(e => e.CAUSAREVOCACION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.CERT_ID)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.CERT_ID_RELACIONADO)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.CIF)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPERSONAL)
                .HasMaxLength(8)
                .IsUnicode(false);
            entity.Property(e => e.CONTENEDORCLAVES).HasColumnType("BLOB");
            entity.Property(e => e.FECHACADUCIDAD).HasColumnType("DATE");
            entity.Property(e => e.FECHACREACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAPETICIONREVOCACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAREVOCACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAVALIDEZ).HasColumnType("DATE");
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(16)
                .IsUnicode(false);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.TIPO)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.TIPOCONTENIDO)
                .HasMaxLength(60)
                .IsUnicode(false);
            entity.Property(e => e.TITULO)
                .HasMaxLength(64)
                .IsUnicode(false);
        });

        modelBuilder.Entity<CODIGOSPOSTALES>(entity =>
        {
            entity.HasKey(e => e.IDCODIGOPOSTAL).HasName("CODIGOSPOSTALESN_PK");

            entity.Property(e => e.IDCODIGOPOSTAL).HasPrecision(10);
            entity.Property(e => e.CODIGOMUNICIPIO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPOSTAL)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCIONADICIONAL)
                .HasMaxLength(80)
                .IsUnicode(false);
            entity.Property(e => e.FECHAALTA).HasColumnType("DATE");
            entity.Property(e => e.IDALTA).HasPrecision(10);

            entity.HasOne(d => d.CODIGOMUNICIPIONavigation).WithMany(p => p.CODIGOSPOSTALES)
                .HasForeignKey(d => d.CODIGOMUNICIPIO)
                .HasConstraintName("CODIGOSPOSTALES_FK_01");
        });

        modelBuilder.Entity<COMARCAS>(entity =>
        {
            entity.HasKey(e => e.CODIGOCOMARCA).HasName("PRIMARY_82");

            entity.HasIndex(e => e.CODIGOPROVINCIA, "COMARCA_PROVINCIA_4");

            entity.Property(e => e.CODIGOCOMARCA)
                .HasMaxLength(6)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPROVINCIA)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(80)
                .IsUnicode(false);

            entity.HasOne(d => d.CODIGOPROVINCIANavigation).WithMany(p => p.COMARCAS)
                .HasForeignKey(d => d.CODIGOPROVINCIA)
                .HasConstraintName("COMARCAS_FK_01");
        });

        modelBuilder.Entity<COMPLEMENTONIVEL>(entity =>
        {
            entity.HasKey(e => e.IDCOMPLEMENTONIVEL).HasName("COMPLEMENTONIVEL_PK");

            entity.Property(e => e.IDCOMPLEMENTONIVEL).HasPrecision(10);
            entity.Property(e => e.IDNIVEL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDRPT)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IMPORTEANUAL)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEMENSUAL)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDNIVELNavigation).WithMany(p => p.COMPLEMENTONIVEL)
                .HasForeignKey(d => d.IDNIVEL)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("COMPLEMENTONIVEL_FK1");

            entity.HasOne(d => d.IDRPTNavigation).WithMany(p => p.COMPLEMENTONIVEL)
                .HasForeignKey(d => d.IDRPT)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("COMPLEMENTONIVEL_FK2");
        });

        modelBuilder.Entity<COMPLEMENTOSCARRERA>(entity =>
        {
            entity.HasKey(e => e.IDCOMCARR).HasName("COMPLEMENTOSCARRERA_PK");

            entity.Property(e => e.IDCOMCARR).HasPrecision(10);
            entity.Property(e => e.CANTIDAD)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDGRUPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDTRAMO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.COMPLEMENTOSCARRERA)
                .HasForeignKey(d => d.IDGRUPO)
                .HasConstraintName("COMPLEMENTOSCARRERA_FK2");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.COMPLEMENTOSCARRERA)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("COMPLEMENTOSCARRERA_FK1");

            entity.HasOne(d => d.IDTRAMONavigation).WithMany(p => p.COMPLEMENTOSCARRERA)
                .HasForeignKey(d => d.IDTRAMO)
                .HasConstraintName("COMPLEMENTOSCARRERA_FK3");
        });

        modelBuilder.Entity<CONCEPTOSGENERALES>(entity =>
        {
            entity.HasKey(e => e.IDCONCEPTOSGENERALES).HasName("PRIMARY_40");

            entity.Property(e => e.IDCONCEPTOSGENERALES).HasPrecision(10);
            entity.Property(e => e.APLPRESALTOSCARGOS)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESEVENTUAL)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESFUNCIONARIOA1)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESFUNCIONARIOA2)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESFUNCIONARIOB)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESFUNCIONARIOC1)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESFUNCIONARIOC2)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESFUNCIONARIOE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.APLPRESLABORAL)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.CONCEPTOAPLPRES)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.COTIZAIRPF).HasPrecision(1);
            entity.Property(e => e.COTIZASEGURIDADSOCIAL).HasPrecision(1);
            entity.Property(e => e.DEDUCCIONES).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(90)
                .IsUnicode(false);
            entity.Property(e => e.EXTRA).HasPrecision(1);
            entity.Property(e => e.INTERVIENEENPAGODIRECTO).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.ORDEN).HasPrecision(10);
            entity.Property(e => e.PERTENECELIQUIDACIONES).HasPrecision(1);
            entity.Property(e => e.PERTENECENOMINA).HasPrecision(1);
            entity.Property(e => e.RETRIBUCIONES).HasPrecision(1);
            entity.Property(e => e.TIPO)
                .HasMaxLength(45)
                .IsUnicode(false);
        });

        modelBuilder.Entity<CONCEPTOSPUESTOSDETRABAJO>(entity =>
        {
            entity.HasKey(e => e.IDCONCEPTOSPUESTOSDETRABAJO).HasName("PRIMARY_44");

            entity.HasIndex(e => e.IDCONCEPTOGENERAL, "CONCEPTOSPUESTOSDETRABAJO_IDCO");

            entity.HasIndex(e => e.IDPUESTOSDETRABAJO, "IDPUESTOTRABAJO_IDX");

            entity.Property(e => e.IDCONCEPTOSPUESTOSDETRABAJO).HasPrecision(10);
            entity.Property(e => e.APLICACIONPRESUPUESTARIA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.CONCEPTOAPLPRES)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.COTIZAIRPF).HasPrecision(1);
            entity.Property(e => e.COTIZASEGURIDADSOCIAL).HasPrecision(1);
            entity.Property(e => e.DEDUCCIONES).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.EXTRA).HasPrecision(1);
            entity.Property(e => e.IDCONCEPTOGENERAL).HasPrecision(10);
            entity.Property(e => e.IDPUESTOSDETRABAJO).HasPrecision(10);
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("0 ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.RETRIBUCIONES).HasPrecision(1);

            entity.HasOne(d => d.IDCONCEPTOGENERALNavigation).WithMany(p => p.CONCEPTOSPUESTOSDETRABAJO)
                .HasForeignKey(d => d.IDCONCEPTOGENERAL)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("CONCEPTOSPUESTOSDETRABAJ_FK_01");

            entity.HasOne(d => d.IDPUESTOSDETRABAJONavigation).WithMany(p => p.CONCEPTOSPUESTOSDETRABAJO)
                .HasForeignKey(d => d.IDPUESTOSDETRABAJO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("CONCEPTOSPUESTOSDETRABAJ_FK_02");
        });

        modelBuilder.Entity<CONCEPTOSTIPOSPUESTOSTRABAJO>(entity =>
        {
            entity.HasKey(e => e.IDCONCEPTOSTIPOSPUESTOTRABAJO).HasName("PRIMARY_19");

            entity.HasIndex(e => e.IDCONCEPTOGENERAL, "CONCEPTOSTIPOSPUESTOTRABAJO_ID");

            entity.HasIndex(e => e.IDTIPOPUESTOSTRABAJO, "TIPOPUESTOTRABAJO_IDX");

            entity.Property(e => e.IDCONCEPTOSTIPOSPUESTOTRABAJO).HasPrecision(10);
            entity.Property(e => e.APLICACIONPRESUPUESTARIA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.CONCEPTOAPLPRES)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.COTIZAIRPF).HasPrecision(1);
            entity.Property(e => e.COTIZASEGURIDADSOCIAL).HasPrecision(1);
            entity.Property(e => e.DEDUCCIONES).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.EXTRA).HasPrecision(1);
            entity.Property(e => e.IDCONCEPTOGENERAL).HasPrecision(10);
            entity.Property(e => e.IDTIPOPUESTOSTRABAJO).HasPrecision(10);
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("0 ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.RETRIBUCIONES).HasPrecision(1);

            entity.HasOne(d => d.IDCONCEPTOGENERALNavigation).WithMany(p => p.CONCEPTOSTIPOSPUESTOSTRABAJO)
                .HasForeignKey(d => d.IDCONCEPTOGENERAL)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("CONCEPTOSTIPOSPUESTOSTRA_FK_02");

            entity.HasOne(d => d.IDTIPOPUESTOSTRABAJONavigation).WithMany(p => p.CONCEPTOSTIPOSPUESTOSTRABAJO)
                .HasForeignKey(d => d.IDTIPOPUESTOSTRABAJO)
                .HasConstraintName("CONCEPTOSTIPOSPUESTOSTRA_FK_01");
        });

        modelBuilder.Entity<CONEXIONES>(entity =>
        {
            entity.HasKey(e => e.IDCONEXION).HasName("PRIMARY_8");

            entity.Property(e => e.IDCONEXION).HasPrecision(10);
            entity.Property(e => e.FECHAAUTENTICACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.IP)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(100)
                .IsUnicode(false);
        });

        modelBuilder.Entity<CONEXIONESBD>(entity =>
        {
            entity.HasKey(e => e.IDCONEXIONESBD).HasName("PRIMARY_31");

            entity.HasIndex(e => e.IDGRUPOBD, "IDGRUPOBD_7");

            entity.Property(e => e.IDCONEXIONESBD).HasPrecision(10);
            entity.Property(e => e.ESQUEMA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.IDGRUPOBD).HasPrecision(10);
            entity.Property(e => e.PASSWORD)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.PUERTOLOCAL).HasPrecision(10);
            entity.Property(e => e.PUERTOREMOTO).HasPrecision(10);
            entity.Property(e => e.SERVIDORLOCAL)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.SERVIDORREMOTO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(45)
                .IsUnicode(false);

            entity.HasOne(d => d.IDGRUPOBDNavigation).WithMany(p => p.CONEXIONESBD)
                .HasForeignKey(d => d.IDGRUPOBD)
                .HasConstraintName("CONEXIONESBD_FK_01");
        });

        modelBuilder.Entity<CONSOLIDACION_GRADO>(entity =>
        {
            entity.HasKey(e => e.IDCUMPGRADO).HasName("CONSOLIDACION_GRADO_PK");

            entity.Property(e => e.IDCUMPGRADO).HasPrecision(10);
            entity.Property(e => e.FECHA_COMUNICACION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_EFECTO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_RESOLUCION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDNIVEL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONAL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NIVEL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDNIVELNavigation).WithMany(p => p.CONSOLIDACION_GRADO)
                .HasForeignKey(d => d.IDNIVEL)
                .HasConstraintName("CONSOLIDACION_GRADO_FK1");

            entity.HasOne(d => d.IDPERSONALNavigation).WithMany(p => p.CONSOLIDACION_GRADO)
                .HasForeignKey(d => d.IDPERSONAL)
                .HasConstraintName("CONSOLIDACION_GRADO_FK2");
        });

        modelBuilder.Entity<CONTRATOS>(entity =>
        {
            entity.HasKey(e => e.IDCONTRATO).HasName("PRIMARY_60");

            entity.Property(e => e.IDCONTRATO).HasPrecision(10);
            entity.Property(e => e.ACCITIMSCNAEIMPORTEEMPR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.ACCITIMSCNAEIMPORTETRAB)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.ACCITIMSCNAEPORCENTEMPR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.ACCITIMSCNAEPORCENTTRAB)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.CODIGO)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.CONTCOMUNIMPORTEEMPR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONTCOMUNIMPORTETRAB)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONTCOMUNPORCENTEMPR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONTCOMUNPORCENTTRAB)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DESEMPLEOIMPORTEEMPRESA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOIMPORTETRABAJADOR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOPORCENTAJEEMPRESA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOPORCENTAJETRABAJADOR).HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAIMPORTEEMPRESA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAIMPORTETRABAJADOR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAPORCENTAJEEMPRESA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAPORCENTAJETRABAJADOR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFIMPORTEEMPR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFIMPORTETRAB)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFPORCENTEMPR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFPORCENTTRAB)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.MEIIMPORTEEMPRESA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.MEIIMPORTETRABAJADOR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.MEIPORCENTAJEEMPRESA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.MEIPORCENTAJETRABAJADOR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
        });

        modelBuilder.Entity<CORREOS>(entity =>
        {
            entity.HasKey(e => e.IDCORREO).HasName("PRIMARY_66");

            entity.HasIndex(e => new { e.CODIGOAPLICACION, e.IDAPLICACION }, "APLICACION");

            entity.HasIndex(e => e.IDCUENTA, "CORREOS_CUENTAS");

            entity.HasIndex(e => e.IDFICHEROADJUNTO, "CORREOS_FICHEROS");

            entity.HasIndex(e => e.IDPERSONA, "CORREOS_PERSONAS_IDX");

            entity.HasIndex(e => e.FECHAANULACION, "FECHAANULACION");

            entity.HasIndex(e => e.FECHAAVISOERROR, "FECHAAVISOERROR");

            entity.HasIndex(e => e.FECHAENVIO, "FECHAENVIO");

            entity.HasIndex(e => e.FECHAULTIMOINTENTO, "FECHAULTIMOINTENTO");

            entity.HasIndex(e => e.ASUNTO, "IN_ASUNTO");

            entity.Property(e => e.IDCORREO).HasPrecision(10);
            entity.Property(e => e.ASUNTO)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOAPLICACION)
                .HasMaxLength(30)
                .IsUnicode(false);
            entity.Property(e => e.CUERPO).HasColumnType("CLOB");
            entity.Property(e => e.DESTINATARIO)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.DIRECCIONRESPUESTA)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.FECHAANULACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAAVISOERROR).HasColumnType("DATE");
            entity.Property(e => e.FECHACREACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAENVIO).HasColumnType("DATE");
            entity.Property(e => e.FECHAULTIMOINTENTO).HasColumnType("DATE");
            entity.Property(e => e.IDAPLICACION).HasPrecision(10);
            entity.Property(e => e.IDCUENTA).HasPrecision(10);
            entity.Property(e => e.IDFICHEROADJUNTO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.REMITENTE)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.RUTAFICHEROADJUNTO)
                .HasMaxLength(255)
                .IsUnicode(false);

            entity.HasOne(d => d.IDCUENTANavigation).WithMany(p => p.CORREOS)
                .HasForeignKey(d => d.IDCUENTA)
                .HasConstraintName("CORREOS_FK_01");

            entity.HasOne(d => d.IDFICHEROADJUNTONavigation).WithMany(p => p.CORREOS)
                .HasForeignKey(d => d.IDFICHEROADJUNTO)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("CORREOS_FK_02");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.CORREOS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("CORREOS_FK_03");
        });

        modelBuilder.Entity<CUENTASCORREO>(entity =>
        {
            entity.HasKey(e => e.IDCUENTA).HasName("PRIMARY_45");

            entity.HasIndex(e => e.CODIGO, "CODIGO_UNIQUE_2").IsUnique();

            entity.Property(e => e.IDCUENTA).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.CUENTACORREO)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.DESHABILITADA).HasPrecision(1);
            entity.Property(e => e.PASSWORDENC)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.PUERTO).HasPrecision(10);
            entity.Property(e => e.REMITENTE)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.SERVIDORSMTP)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.SSL).HasPrecision(1);
        });

        modelBuilder.Entity<CUENTASCOTIZACIONPATRONAL>(entity =>
        {
            entity.HasKey(e => e.IDCUENTACOTIZACIONPATRONAL).HasName("PRIMARY_46");

            entity.HasIndex(e => e.AUTORIZADO, "CENTROS_ENUMERACIONESAUTORIZAD");

            entity.HasIndex(e => e.ENTIDAD, "CENTROS_ENUMERACIONESENTIDADES");

            entity.HasIndex(e => e.REGIMEN, "CENTROS_ENUMERACIONESREGIMEN_I");

            entity.HasIndex(e => e.IDTITULARTIPOIPF, "CENTROS_ENUMERACIONESTIPOIPF_I");

            entity.Property(e => e.IDCUENTACOTIZACIONPATRONAL).HasPrecision(10);
            entity.Property(e => e.ALTOCARGO).HasPrecision(1);
            entity.Property(e => e.AUTORIZADO)
                .HasMaxLength(150)
                .IsUnicode(false);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.COEFICIENTEREDUCTOREMPRESA)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COEFICIENTEREDUCTORTOTAL)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COEFICIENTEREDUCTORTRABAJADOR)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.DIPUTADOSENASIGNACION).HasPrecision(1);
            entity.Property(e => e.ENTIDAD)
                .HasMaxLength(150)
                .IsUnicode(false);
            entity.Property(e => e.EVENTUAL).HasPrecision(1);
            entity.Property(e => e.FECHAALTA).HasColumnType("DATE");
            entity.Property(e => e.FECHABAJA).HasColumnType("DATE");
            entity.Property(e => e.FUNCIONARIO).HasPrecision(1);
            entity.Property(e => e.IBANLIQUIDACIONESACREEDORAS)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.IBANLIQUIDACIONESDEUDORAS)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.IDTITULARTIPOIPF).HasPrecision(10);
            entity.Property(e => e.INTERINO).HasPrecision(1);
            entity.Property(e => e.IPF)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.LABORAL).HasPrecision(1);
            entity.Property(e => e.LETRAIDENTIFICACIONFICHERO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.REGIMEN)
                .HasMaxLength(150)
                .IsUnicode(false);
            entity.Property(e => e.TITULARIPF)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.TITULARNOMBRE)
                .HasMaxLength(200)
                .IsUnicode(false);

            entity.HasOne(d => d.IDTITULARTIPOIPFNavigation).WithMany(p => p.CUENTASCOTIZACIONPATRONAL)
                .HasForeignKey(d => d.IDTITULARTIPOIPF)
                .HasConstraintName("CUENTASCOTIZACIONPATRONA_FK_01");
        });

        modelBuilder.Entity<CUERPO>(entity =>
        {
            entity.HasKey(e => e.IDCUERPO).HasName("CUERPO_PK");

            entity.Property(e => e.IDCUERPO).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.CUERPO1)
                .HasMaxLength(5)
                .IsUnicode(false)
                .IsFixedLength()
                .HasColumnName("CUERPO");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.GRUPO_ASOCIADO).HasPrecision(10);
            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.MAX_GRADO).HasPrecision(10);
            entity.Property(e => e.MIN_GRADO).HasPrecision(10);

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.CUERPO)
                .HasForeignKey(d => d.IDGRUPO)
                .HasConstraintName("CUERPO_FK1");
        });

        modelBuilder.Entity<CUMPLIMIENTO_TRIENIOS>(entity =>
        {
            entity.HasKey(e => e.IDCUMPTRIENIO).HasName("CUMPLIMIENTO_TRIENIOS_PK");

            entity.Property(e => e.IDCUMPTRIENIO).HasPrecision(10);
            entity.Property(e => e.FECHA_ANEXO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_COMUNICACION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHA_PROPUESTA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.GRUPO)
                .HasMaxLength(3)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
            entity.Property(e => e.IDPERSONAL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TC)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<CURSOS>(entity =>
        {
            entity.HasKey(e => e.IDCURSO).HasName("CURSOS_PK");

            entity.Property(e => e.IDCURSO).HasPrecision(10);
            entity.Property(e => e.CONVOCATORIA)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DENOMINACION)
                .HasMaxLength(400)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAEXPEDICIONCERTIFICADO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAFINCURSO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAFININSCRIPCION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIOCURSO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIOINSCRIPCION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDHORARIOCURSO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDMODOIMPARTICION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONACURSO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPROFESOR)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDSALA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDHORARIOCURSONavigation).WithMany(p => p.CURSOS)
                .HasForeignKey(d => d.IDHORARIOCURSO)
                .HasConstraintName("CURSOS_FK3");

            entity.HasOne(d => d.IDMODOIMPARTICIONNavigation).WithMany(p => p.CURSOS)
                .HasForeignKey(d => d.IDMODOIMPARTICION)
                .HasConstraintName("CURSOS_FK1");

            entity.HasOne(d => d.IDPERSONACURSONavigation).WithMany(p => p.CURSOS)
                .HasForeignKey(d => d.IDPERSONACURSO)
                .HasConstraintName("CURSOS_FK5");

            entity.HasOne(d => d.IDPROFESORNavigation).WithMany(p => p.CURSOS)
                .HasForeignKey(d => d.IDPROFESOR)
                .HasConstraintName("CURSOS_FK4");

            entity.HasOne(d => d.IDSALANavigation).WithMany(p => p.CURSOS)
                .HasForeignKey(d => d.IDSALA)
                .HasConstraintName("CURSOS_FK2");
        });

        modelBuilder.Entity<DECLARACIONESDEVENGOS>(entity =>
        {
            entity.HasKey(e => e.IDDECLARACION).HasName("DECLARACIONESDEVENGO_PK");

            entity.Property(e => e.IDDECLARACION).HasPrecision(10);
            entity.Property(e => e.AÑO).HasPrecision(10);
            entity.Property(e => e.FECHADECLARACION).HasColumnType("DATE");
            entity.Property(e => e.MES).HasPrecision(10);
        });

        modelBuilder.Entity<DEDUCCIONESRETENCIONESJUDICI>(entity =>
        {
            entity.HasKey(e => e.IDDEDUCCRETENJUDI).HasName("PRIMARY_20");

            entity.HasIndex(e => e.IDRETENCION, "DEDUCCIONESRETENCIONESJUDICIAL");

            entity.HasIndex(e => e.IDPERSONA, "DEDUCCIONESRETENCIONESJUDICI_1");

            entity.HasIndex(e => e.IDNOMINA, "DEDUCCIONESRETENCIONESJUDICI_2");

            entity.Property(e => e.IDDEDUCCRETENJUDI).HasPrecision(10);
            entity.Property(e => e.CANTIDADDEDUCIDA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCONTADA)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDNOMINA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDRETENCION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.SALDO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDNOMINANavigation).WithMany(p => p.DEDUCCIONESRETENCIONESJUDICI)
                .HasForeignKey(d => d.IDNOMINA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEDUCCIONESRETENCIONESJU_FK_01");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.DEDUCCIONESRETENCIONESJUDICI)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEDUCCIONESRETENCIONESJU_FK_02");

            entity.HasOne(d => d.IDRETENCIONNavigation).WithMany(p => p.DEDUCCIONESRETENCIONESJUDICI)
                .HasForeignKey(d => d.IDRETENCION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEDUCCIONESRETENCIONESJU_FK_03");
        });

        modelBuilder.Entity<DEPARTAMENTOSCH>(entity =>
        {
            entity.HasKey(e => e.IDDEPARTAMENTO).HasName("DEPARTAMENTOSCH_PK");

            entity.Property(e => e.IDDEPARTAMENTO).HasPrecision(10);
            entity.Property(e => e.FECHAALTA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHABAJA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.ORDEN)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<DESGLOSETRIYCOMPLANTIGUEDAD>(entity =>
        {
            entity.HasKey(e => e.IDDESGLOSETRIYCOMPLANTI).HasName("PRIMARY_47");

            entity.HasIndex(e => e.IDNOMINATRABAJADORCAB, "IDNOMINATRABAJADORCABECERA_IDX");

            entity.Property(e => e.IDDESGLOSETRIYCOMPLANTI).HasPrecision(10);
            entity.Property(e => e.CANTIDAD)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDNOMINATRABAJADORCAB)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IMPORTE)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.TIPO)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TOTAL)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDNOMINATRABAJADORCABNavigation).WithMany(p => p.DESGLOSETRIYCOMPLANTIGUEDAD)
                .HasForeignKey(d => d.IDNOMINATRABAJADORCAB)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DESGLOSETRIYCOMPLANTIGUE_FK_01");
        });

        modelBuilder.Entity<DEVENGOS>(entity =>
        {
            entity.HasKey(e => e.IDDEVENGO).HasName("PRIMARY_21");

            entity.HasIndex(e => e.IDSUBCLAVE, "DEVENGOS_ENUMERACIONESSUBCLAVE");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "PERCEPTORES190LINEADISCAPACIDA");

            entity.HasIndex(e => e.IDCONTRATOORELACION, "PERCEPTORES190LINEASCONTRATO_E");

            entity.HasIndex(e => e.IDSITUACIONFAMILIAR, "PERCEPTORES190LINEASSITUACIONF");

            entity.HasIndex(e => e.IDPERCEPTOR, "PERCEPTORES190LINEAS_PERCEPTOR");

            entity.Property(e => e.IDDEVENGO).HasPrecision(10);
            entity.Property(e => e.ADQOREHVIVIENDAFINANAJENA).HasPrecision(10);
            entity.Property(e => e.AMAYORIGUAL75PORENTERO).HasPrecision(10);
            entity.Property(e => e.ANUALIDADESALIMENTOS).HasColumnType("FLOAT");
            entity.Property(e => e.ASCENDIENTESMAYORIGUAL75TOTAL).HasPrecision(10);
            entity.Property(e => e.ASCENDIENTESMENOR75PORENTERO).HasPrecision(10);
            entity.Property(e => e.ASCENDIENTESMENOR75TOTAL).HasPrecision(10);
            entity.Property(e => e.AÑONACIMIENTO).HasColumnType("DATE");
            entity.Property(e => e.COMPUTODEHIJO1).HasPrecision(10);
            entity.Property(e => e.COMPUTODEHIJO2).HasPrecision(10);
            entity.Property(e => e.COMPUTODEHIJO3).HasPrecision(10);
            entity.Property(e => e.CONCEPTO)
                .HasMaxLength(120)
                .IsUnicode(false);
            entity.Property(e => e.DAMAYORIGUAL33YMENOR65PORENT).HasPrecision(10);
            entity.Property(e => e.DAMAYORIGUAL33YMENOR65TOTAL).HasPrecision(10);
            entity.Property(e => e.DAMAYORIGUAL65PORENT).HasPrecision(10);
            entity.Property(e => e.DAMAYORIGUAL65TOTAL).HasPrecision(10);
            entity.Property(e => e.DAMOVILIDADREDUCIDAPORENT).HasPrecision(10);
            entity.Property(e => e.DAMOVILIDADREDUCIDATOTAL).HasPrecision(10);
            entity.Property(e => e.DDMAYORIGUAL33YMENOR65PORENT).HasPrecision(10);
            entity.Property(e => e.DDMAYORIGUAL33YMENOR65TOTAL).HasPrecision(10);
            entity.Property(e => e.DDMAYORIGUAL65PORENT).HasPrecision(10);
            entity.Property(e => e.DDMAYORIGUAL65TOTAL).HasPrecision(10);
            entity.Property(e => e.DDMOVILIDADREDUCIDAPORENT).HasPrecision(10);
            entity.Property(e => e.DDMOVILIDADREDUCIDATOTAL).HasPrecision(10);
            entity.Property(e => e.DESCENDIENTEMENOR3AÑOSTOTAL).HasPrecision(10);
            entity.Property(e => e.DESCENDIENTESRESTOPORENTERO).HasPrecision(10);
            entity.Property(e => e.DESCENDIENTESRESTOTOTAL).HasPrecision(10);
            entity.Property(e => e.DMENOR3AÑOSPORENTERO).HasPrecision(10);
            entity.Property(e => e.EJERCICIO).HasPrecision(10);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
            entity.Property(e => e.FECHAFISCALIZACION).HasColumnType("DATE");
            entity.Property(e => e.GASTOSDEDUCIBLES).HasColumnType("FLOAT");
            entity.Property(e => e.IDCLAVE).HasPrecision(10);
            entity.Property(e => e.IDCONTRATOORELACION).HasPrecision(10);
            entity.Property(e => e.IDDECLARACION).HasPrecision(10);
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDNOMINA).HasPrecision(10);
            entity.Property(e => e.IDPERCEPTOR).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONFAMILIAR).HasPrecision(10);
            entity.Property(e => e.IDSUBCLAVE).HasPrecision(10);
            entity.Property(e => e.INGRESOSACUENTAEFECTUADOS).HasColumnType("FLOAT");
            entity.Property(e => e.INGRESOSACUENTAREPERCUTIDOS).HasColumnType("FLOAT");
            entity.Property(e => e.MES).HasPrecision(10);
            entity.Property(e => e.MOVILIDADGEOGRAFICA).HasPrecision(1);
            entity.Property(e => e.MOVILIDADGEOGRAFICA2014).HasPrecision(1);
            entity.Property(e => e.NIFCONYUGE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.ORIGENDATO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.PENSIONESCOMPENSATORIAS).HasColumnType("FLOAT");
            entity.Property(e => e.PERCEPCIONESINTEGRAS).HasColumnType("FLOAT");
            entity.Property(e => e.REDUCCIONES).HasColumnType("FLOAT");
            entity.Property(e => e.RETENCIONES).HasColumnType("FLOAT");
            entity.Property(e => e.VALORACION).HasColumnType("FLOAT");

            entity.HasOne(d => d.IDCLAVENavigation).WithMany(p => p.DEVENGOSIDCLAVENavigation)
                .HasForeignKey(d => d.IDCLAVE)
                .HasConstraintName("DEVENGOS_FK_04");

            entity.HasOne(d => d.IDCONTRATOORELACIONNavigation).WithMany(p => p.DEVENGOSIDCONTRATOORELACIONNavigation)
                .HasForeignKey(d => d.IDCONTRATOORELACION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEVENGOS_FK_01");

            entity.HasOne(d => d.IDDECLARACIONNavigation).WithMany(p => p.DEVENGOS)
                .HasForeignKey(d => d.IDDECLARACION)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("DEVENGOS_FK_08");

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.DEVENGOSIDDISCAPACIDADNavigation)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEVENGOS_FK_02");

            entity.HasOne(d => d.IDNOMINANavigation).WithMany(p => p.DEVENGOS)
                .HasForeignKey(d => d.IDNOMINA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEVENGOS_FK_07");

            entity.HasOne(d => d.IDPERCEPTORNavigation).WithMany(p => p.DEVENGOS)
                .HasForeignKey(d => d.IDPERCEPTOR)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEVENGOS_FK_06");

            entity.HasOne(d => d.IDSITUACIONFAMILIARNavigation).WithMany(p => p.DEVENGOSIDSITUACIONFAMILIARNavigation)
                .HasForeignKey(d => d.IDSITUACIONFAMILIAR)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DEVENGOS_FK_03");

            entity.HasOne(d => d.IDSUBCLAVENavigation).WithMany(p => p.DEVENGOSIDSUBCLAVENavigation)
                .HasForeignKey(d => d.IDSUBCLAVE)
                .HasConstraintName("DEVENGOS_FK_05");
        });

        modelBuilder.Entity<DIASACOMPENSARPERSONAS>(entity =>
        {
            entity.HasKey(e => e.IDDIAACOMPENSARPERSONA).HasName("DIASACOMPENSARPERSONAS_PK");

            entity.Property(e => e.IDDIAACOMPENSARPERSONA).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHACOMPENSACION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHALIMITEVALIDEZ)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NUMERODIAS)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.DIASACOMPENSARPERSONAS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("DIASACOMPENSARPERSONAS_FK1");
        });

        modelBuilder.Entity<DIASCOMPENSACION>(entity =>
        {
            entity.HasKey(e => e.IDDIACOMPENSACION).HasName("PRIMARY_61");

            entity.HasIndex(e => e.IDHORAMES, "DIASCOMPENSACION_HORASMES_IDX");

            entity.Property(e => e.IDDIACOMPENSACION).HasPrecision(10);
            entity.Property(e => e.FECHA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.HORASPARASALDOARECUPERAR_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDHORAMES)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NUMEROHORAS_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(350)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDHORAMESNavigation).WithMany(p => p.DIASCOMPENSACION)
                .HasForeignKey(d => d.IDHORAMES)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DIASCOMPENSACION_FK_01");
        });

        modelBuilder.Entity<DIFERENCIAPAGODELEGADO>(entity =>
        {
            entity.HasKey(e => e.IDDIFERENCIAPAGODELEGADO).HasName("PRIMARY_67");

            entity.HasIndex(e => e.IDPERSONA, "DIFERENCIAPAGODELEGADO_PERSONA");

            entity.Property(e => e.IDDIFERENCIAPAGODELEGADO).HasPrecision(10);
            entity.Property(e => e.BASEDIARIASEGURIDADSOCIAL)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEPAGODIRECTO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.DIFERENCIAPAGODELEGADO)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DIFERENCIAPAGODELEGADO_FK_01");
        });

        modelBuilder.Entity<DIFERENCIATRIENIOS>(entity =>
        {
            entity.HasKey(e => e.IDDIFERENCIASTRIENIOS).HasName("PRIMARY_22");

            entity.HasIndex(e => e.IDPERSONA, "DIFERENCIATRIENIOS_PERSONAL_ID");

            entity.Property(e => e.IDDIFERENCIASTRIENIOS).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(10)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAALTA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHABAJA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NUMEROTRIENIOS)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TIPO)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.DIFERENCIATRIENIOS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("DIFERENCIATRIENIOS_FK_01");
        });

        modelBuilder.Entity<DIPUTADOS>(entity =>
        {
            entity.HasKey(e => e.IDDIPUTADOS).HasName("PRIMARY_9");

            entity.HasIndex(e => e.IDPERSONAS, "DIPUTADOS_PERSONAS_IDX");

            entity.Property(e => e.IDDIPUTADOS).HasPrecision(10);
            entity.Property(e => e.IDPERSONAS)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONASNavigation).WithMany(p => p.DIPUTADOS)
                .HasForeignKey(d => d.IDPERSONAS)
                .HasConstraintName("DIPUTADOS_FK_01");
        });

        modelBuilder.Entity<DOCENCIA>(entity =>
        {
            entity.HasKey(e => e.IDDOCENCIA).HasName("DOCENCIA_PK");

            entity.Property(e => e.IDDOCENCIA).HasPrecision(10);
            entity.Property(e => e.CENTRO)
                .HasMaxLength(250)
                .IsUnicode(false);
            entity.Property(e => e.DENOMINACION)
                .HasMaxLength(250)
                .IsUnicode(false);
            entity.Property(e => e.DURACION).HasColumnType("FLOAT");
            entity.Property(e => e.FECHAEXPEDICION).HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDTIPODOCENCIA).HasPrecision(10);
            entity.Property(e => e.RUTA)
                .HasMaxLength(250)
                .IsUnicode(false);
            entity.Property(e => e.TIPO)
                .HasMaxLength(250)
                .IsUnicode(false);

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.DOCENCIA)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("DOCENCIA_FK2");

            entity.HasOne(d => d.IDTIPODOCENCIANavigation).WithMany(p => p.DOCENCIA)
                .HasForeignKey(d => d.IDTIPODOCENCIA)
                .HasConstraintName("DOCENCIA_FK1");
        });

        modelBuilder.Entity<DOTACION>(entity =>
        {
            entity.HasKey(e => e.IDDOTACION).HasName("DOTACION_PK");

            entity.Property(e => e.IDDOTACION).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.DOTACION1)
                .HasMaxLength(3)
                .IsUnicode(false)
                .IsFixedLength()
                .HasColumnName("DOTACION");
            entity.Property(e => e.PLAZO)
                .HasPrecision(10)
                .HasDefaultValueSql("12");
        });

        modelBuilder.Entity<ENFERMEDADES>(entity =>
        {
            entity.HasKey(e => e.IDENFERMEDADES).HasName("PRIMARY_68");

            entity.HasIndex(e => e.IDTIPO, "ENFERMEDADES_ENUMERACIONES_IDX");

            entity.HasIndex(e => e.IDPERSONA, "ENFERMEDADES_PERSONAS_IDX");

            entity.Property(e => e.IDENFERMEDADES).HasPrecision(10);
            entity.Property(e => e.BASE).HasColumnType("FLOAT");
            entity.Property(e => e.CONTINUIDAD).HasPrecision(1);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.NOMINANORMAL).HasPrecision(1);
            entity.Property(e => e.NOMINASEGURIDADSOCIAL).HasPrecision(1);

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.ENFERMEDADES)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("ENFERMEDADES_FK_02");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.ENFERMEDADES)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("ENFERMEDADES_FK_01");
        });

        modelBuilder.Entity<ENLACES>(entity =>
        {
            entity.HasKey(e => e.IDENLACE).HasName("ENLACES_PK");

            entity.Property(e => e.IDENLACE).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.ENLACE)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDSECCION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.ORDEN)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.VISIBLEPERSONAL)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDSECCIONNavigation).WithMany(p => p.ENLACES)
                .HasForeignKey(d => d.IDSECCION)
                .HasConstraintName("ENLACES_FK1");
        });

        modelBuilder.Entity<ENUMERACIONES>(entity =>
        {
            entity.HasKey(e => e.IDENUMERACION).HasName("PRIMARY_83");

            entity.HasIndex(e => e.CODIGO, "CODIGO_UNIQUE_1").IsUnique();

            entity.HasIndex(e => e.IDGRUPOENUMERACION, "ENUMERACIONES_GRUPOSENUMERACIO");

            entity.Property(e => e.IDENUMERACION).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.IDGRUPOENUMERACION).HasPrecision(10);
            entity.Property(e => e.OCULTO).HasPrecision(1);
            entity.Property(e => e.ORDEN).HasPrecision(10);
            entity.Property(e => e.VALORALFABETICO1)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.VALORALFABETICO2)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.VALORALFABETICO3)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.VALORALFABETICO4)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.VALORALFABETICOLARGO)
                .HasMaxLength(350)
                .IsUnicode(false);
            entity.Property(e => e.VALORNUMERICO1).HasColumnType("FLOAT");
            entity.Property(e => e.VALORNUMERICO2).HasColumnType("FLOAT");
            entity.Property(e => e.VALORNUMERICO3).HasColumnType("FLOAT");
            entity.Property(e => e.VALORNUMERICO4).HasColumnType("FLOAT");

            entity.HasOne(d => d.IDGRUPOENUMERACIONNavigation).WithMany(p => p.ENUMERACIONES)
                .HasForeignKey(d => d.IDGRUPOENUMERACION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("ENUMERACIONES_FK_01");
        });

        modelBuilder.Entity<ESPECIFICOS>(entity =>
        {
            entity.HasKey(e => e.IDESPECIFICO).HasName("ESPECIFICOS_PK");

            entity.Property(e => e.IDESPECIFICO).HasPrecision(10);
            entity.Property(e => e.IDRPTDES)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IMPORTE_DEDICACION)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("0")
                .HasColumnType("NUMBER(10,2)");
            entity.Property(e => e.IMPORTE_EXTRAS)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
            entity.Property(e => e.IMPORTE_M)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
            entity.Property(e => e.IMPORTE_TOTAL)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
        });

        modelBuilder.Entity<ESTADOSASISTENCIA>(entity =>
        {
            entity.HasKey(e => e.IDESTADOASISTENCIA).HasName("ESTADOSASISTENCIA_PK");

            entity.Property(e => e.IDESTADOASISTENCIA).HasPrecision(10);
            entity.Property(e => e.FECHAHORA).HasColumnType("DATE");
            entity.Property(e => e.IDASISTENCIA).HasPrecision(10);
            entity.Property(e => e.IDESTADO).HasPrecision(10);
            entity.Property(e => e.INFORMACIONANEXA)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(150)
                .IsUnicode(false);

            entity.HasOne(d => d.IDASISTENCIANavigation).WithMany(p => p.ESTADOSASISTENCIA)
                .HasForeignKey(d => d.IDASISTENCIA)
                .HasConstraintName("ESTADOSASISTENCIA_FK1");

            entity.HasOne(d => d.IDESTADONavigation).WithMany(p => p.ESTADOSASISTENCIA)
                .HasForeignKey(d => d.IDESTADO)
                .HasConstraintName("ESTADOSASISTENCIA_FK2");
        });

        modelBuilder.Entity<EXCEPCIONESHORARIOS>(entity =>
        {
            entity.HasKey(e => e.IDEXCEPCIONHORARIO).HasName("PRIMARY_69");

            entity.HasIndex(e => e.IDHORARIO, "EXCEPCIONESHORARIOS_HORARIOS_I");

            entity.Property(e => e.IDEXCEPCIONHORARIO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.HABITUALFINMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HABITUALFINTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.HABITUALINICIOMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HABITUALINICIOTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJOMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJOTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.IDHORARIO).HasPrecision(10);
            entity.Property(e => e.MAÑANADOMINGO).HasPrecision(1);
            entity.Property(e => e.MAÑANAJUEVES).HasPrecision(1);
            entity.Property(e => e.MAÑANALUNES).HasPrecision(1);
            entity.Property(e => e.MAÑANAMARTES).HasPrecision(1);
            entity.Property(e => e.MAÑANAMIERCOLES).HasPrecision(1);
            entity.Property(e => e.MAÑANASABADO).HasPrecision(1);
            entity.Property(e => e.MAÑANAVIERNES).HasPrecision(1);
            entity.Property(e => e.OBLIGADOFINMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.OBLIGADOFINTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.OBLIGADOINICIOMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.OBLIGADOINICIOTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.POSIBLEFINMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.POSIBLEFINTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.POSIBLEINICIOMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.POSIBLEINICIOTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.TARDEDOMINGO).HasPrecision(1);
            entity.Property(e => e.TARDEJUEVES).HasPrecision(1);
            entity.Property(e => e.TARDELUNES).HasPrecision(1);
            entity.Property(e => e.TARDEMARTES).HasPrecision(1);
            entity.Property(e => e.TARDEMIERCOLES).HasPrecision(1);
            entity.Property(e => e.TARDESABADO).HasPrecision(1);
            entity.Property(e => e.TARDEVIERNES).HasPrecision(1);
            entity.Property(e => e.TRAMO1FACTOR).HasColumnType("FLOAT");
            entity.Property(e => e.TRAMO1FIN_D).HasColumnType("FLOAT");
            entity.Property(e => e.TRAMO1INICIO_D).HasColumnType("FLOAT");
            entity.Property(e => e.TRAMO2FACTOR).HasColumnType("FLOAT");
            entity.Property(e => e.TRAMO2FIN_D).HasColumnType("FLOAT");
            entity.Property(e => e.TRAMO2INICIO_D).HasColumnType("FLOAT");

            entity.HasOne(d => d.IDHORARIONavigation).WithMany(p => p.EXCEPCIONESHORARIOS)
                .HasForeignKey(d => d.IDHORARIO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("EXCEPCIONESHORARIOS_FK_01");
        });

        modelBuilder.Entity<EXCEPCIONESPERMISOS>(entity =>
        {
            entity.HasKey(e => e.IDEXCEPCIONPERMISO).HasName("EXCEPCIONESPERMISOS_PK");

            entity.Property(e => e.IDEXCEPCIONPERMISO).HasPrecision(10);
            entity.Property(e => e.ADMINISTRADORCONTROLHORARIO).HasPrecision(1);
            entity.Property(e => e.ADMINISTRADORTOTAL).HasPrecision(1);
            entity.Property(e => e.ADMINISTRARPTYREGISTRO).HasPrecision(1);
            entity.Property(e => e.DELEGADO).HasPrecision(1);
            entity.Property(e => e.DELEGADOINFORMES).HasPrecision(1);
            entity.Property(e => e.IDDEPARTAMENTO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDPERSONAPERMISO).HasPrecision(10);
            entity.Property(e => e.SUPERVISORDEPARTAMENTO).HasPrecision(1);
            entity.Property(e => e.SUPERVISORDETODO).HasPrecision(1);

            entity.HasOne(d => d.IDDEPARTAMENTONavigation).WithMany(p => p.EXCEPCIONESPERMISOS)
                .HasForeignKey(d => d.IDDEPARTAMENTO)
                .HasConstraintName("EXCEPCIONESPERMISOS_FK2");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.EXCEPCIONESPERMISOSIDPERSONANavigation)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("EXCEPCIONESPERMISOS_FK1");

            entity.HasOne(d => d.IDPERSONAPERMISONavigation).WithMany(p => p.EXCEPCIONESPERMISOSIDPERSONAPERMISONavigation)
                .HasForeignKey(d => d.IDPERSONAPERMISO)
                .HasConstraintName("EXCEPCIONESPERMISOS_FK3");
        });

        modelBuilder.Entity<EXPEDIENTESPERSONAS>(entity =>
        {
            entity.HasKey(e => e.IDEXPEDIENTESPERSONAS).HasName("PRIMARY_10");

            entity.HasIndex(e => e.TIPO, "EXPEDIENTESPERSONAS_ENUMERACIO");

            entity.HasIndex(e => e.IDPERSONA, "EXPEDIENTESPERSONAS_PERSONAS_I");

            entity.Property(e => e.IDEXPEDIENTESPERSONAS).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TIPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.EXPEDIENTESPERSONAS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("EXPEDIENTESPERSONAS_FK_02");

            entity.HasOne(d => d.TIPONavigation).WithMany(p => p.EXPEDIENTESPERSONAS)
                .HasForeignKey(d => d.TIPO)
                .HasConstraintName("EXPEDIENTESPERSONAS_FK_01");
        });

        modelBuilder.Entity<FAMILIA>(entity =>
        {
            entity.HasKey(e => e.IDFAMILIA).HasName("FAMILIA_PK");

            entity.Property(e => e.IDFAMILIA).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.APELLIDOS)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DNI)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.ENTEROIRPF).HasPrecision(1);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.FECHANACIMIENTO).HasColumnType("DATE");
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDPARENTESCO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.MOVILIDADREDUCIDA).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.FAMILIAIDDISCAPACIDADNavigation)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .HasConstraintName("FAMILIA_FK1");

            entity.HasOne(d => d.IDPARENTESCONavigation).WithMany(p => p.FAMILIAIDPARENTESCONavigation)
                .HasForeignKey(d => d.IDPARENTESCO)
                .HasConstraintName("FAMILIA_FK_01");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.FAMILIA)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("FAMILIA_FK_02");
        });

        modelBuilder.Entity<FICHEROS>(entity =>
        {
            entity.HasKey(e => e.IDFICHERO).HasName("PRIMARY_23");

            entity.HasIndex(e => e.DESCRIPCION, "DESCRIPCION");

            entity.HasIndex(e => e.FECHA, "FECHA");

            entity.HasIndex(e => e.IDTIPO, "FICHERO_TIPO");

            entity.Property(e => e.IDFICHERO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(80)
                .IsUnicode(false);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
            entity.Property(e => e.FICHERO).HasColumnType("BLOB");
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.NOMBREFICHERO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(255)
                .IsUnicode(false);

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.FICHEROS)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("FICHEROS_FK_01");
        });

        modelBuilder.Entity<FICHEROSCONFIGURACION>(entity =>
        {
            entity.HasKey(e => e.IDFICHEROCONFIGURACION).HasName("PRIMARY_62");

            entity.HasIndex(e => new { e.CODIGO, e.IDUSUARIO, e.DESCRIPCION }, "CODIGO").IsUnique();

            entity.Property(e => e.IDFICHEROCONFIGURACION).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.CONFIGURACION).HasColumnType("BLOB");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IDUSUARIO).HasPrecision(10);
        });

        modelBuilder.Entity<FIESTAS>(entity =>
        {
            entity.HasKey(e => e.IDFIESTA).HasName("PRIMARY_24");

            entity.Property(e => e.IDFIESTA).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
        });

        modelBuilder.Entity<FORMACION>(entity =>
        {
            entity.HasKey(e => e.IDFORMACION).HasName("FORMACION_PK");

            entity.Property(e => e.IDFORMACION).HasPrecision(10);
            entity.Property(e => e.APROVECHAMIENTO).HasPrecision(1);
            entity.Property(e => e.APTOCPH).HasPrecision(1);
            entity.Property(e => e.CENTRO)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.DURACION).HasColumnType("FLOAT");
            entity.Property(e => e.FECHA_EXPEDICION).HasColumnType("DATE");
            entity.Property(e => e.FECHA_INSCRIPCION_DEFINITIVA).HasColumnType("DATE");
            entity.Property(e => e.FECHA_INSCRIPCION_PROVISIONAL).HasColumnType("DATE");
            entity.Property(e => e.IDCURSO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NIF)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE_CURSO)
                .HasMaxLength(300)
                .IsUnicode(false);
            entity.Property(e => e.NOTA).HasColumnType("FLOAT");
            entity.Property(e => e.NUM_REGISTRO)
                .HasMaxLength(30)
                .IsUnicode(false);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(250)
                .IsUnicode(false);
            entity.Property(e => e.OFICIAL).HasPrecision(1);
            entity.Property(e => e.RUTA)
                .HasMaxLength(250)
                .IsUnicode(false);

            entity.HasOne(d => d.IDCURSONavigation).WithMany(p => p.FORMACION)
                .HasForeignKey(d => d.IDCURSO)
                .HasConstraintName("FORMACION_FK1");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.FORMACION)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("FORMACION_FK_1");
        });

        modelBuilder.Entity<FORMACIONIMPARTIDA>(entity =>
        {
            entity.HasKey(e => e.IDFORMACIONIMPARTIDA).HasName("FORMACIONIMPARTIDA_PK");

            entity.Property(e => e.IDFORMACIONIMPARTIDA).HasPrecision(10);
            entity.Property(e => e.CENTROENTIDAD)
                .HasMaxLength(150)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DENOMINACION)
                .HasMaxLength(150)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAEXPEDICION)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.HOMOLOGACIONIAPP)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.HORAS)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDTIPODOCENCIA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MINUTOS)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDTIPODOCENCIANavigation).WithMany(p => p.FORMACIONIMPARTIDA)
                .HasForeignKey(d => d.IDTIPODOCENCIA)
                .HasConstraintName("FORMACIONIMPARTIDA_FK1");
        });

        modelBuilder.Entity<GRUPO>(entity =>
        {
            entity.HasKey(e => e.IDGRUPO).HasName("GRUPO_PK");

            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.GRUPO1)
                .HasMaxLength(3)
                .IsUnicode(false)
                .IsFixedLength()
                .HasColumnName("GRUPO");
            entity.Property(e => e.IMPORTE_G).HasPrecision(10);
            entity.Property(e => e.IMPORTE_G_EXTRAS).HasPrecision(10);
            entity.Property(e => e.IMPORTE_TRI_TC).HasPrecision(10);
            entity.Property(e => e.IMPORTE_TRI_TCE).HasPrecision(10);
            entity.Property(e => e.IMPORTE_TRI_TOA).HasPrecision(10);
            entity.Property(e => e.IMPORTE_TRI_TOAE).HasPrecision(10);
        });

        modelBuilder.Entity<GRUPOBD>(entity =>
        {
            entity.HasKey(e => e.IDGRUPOBD).HasName("PRIMARY_70");

            entity.Property(e => e.IDGRUPOBD).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false);
        });

        modelBuilder.Entity<GRUPOSENUMERACIONES>(entity =>
        {
            entity.HasKey(e => e.IDGRUPOENUMERACION).HasName("PRIMARY_84");

            entity.Property(e => e.IDGRUPOENUMERACION).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(60)
                .IsUnicode(false);
            entity.Property(e => e.GRUPO)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.OCULTO).HasPrecision(1);
        });

        modelBuilder.Entity<GRUPOSINCIDENCIAS>(entity =>
        {
            entity.HasKey(e => e.IDGRUPOINCIDENCIA).HasName("GRUPOSINCIDENCIAS_PK");

            entity.Property(e => e.IDGRUPOINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.AYUDAWEB)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DISPLAYHOME).HasPrecision(1);
            entity.Property(e => e.ORDEN).HasPrecision(10);
        });

        modelBuilder.Entity<GRUPOSMENUS>(entity =>
        {
            entity.HasKey(e => e.IDGRUPOSMENUS).HasName("PRIMARY_41");

            entity.HasIndex(e => e.DESCRIPCION, "DESCRIPCION_UNIQUE_7").IsUnique();

            entity.Property(e => e.IDGRUPOSMENUS).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false);
        });

        modelBuilder.Entity<GRUPOSUSUARIOS>(entity =>
        {
            entity.HasKey(e => e.IDGRUPO).HasName("PRIMARY_71");

            entity.HasIndex(e => e.DESCRIPCION, "DESCRIPCION_UNIQUE_6").IsUnique();

            entity.HasIndex(e => e.IDGRUPOMENU, "GRUPOUSUARIOS_GRUPOMENUS_IDX");

            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.IDGRUPOMENU).HasPrecision(10);

            entity.HasOne(d => d.IDGRUPOMENUNavigation).WithMany(p => p.GRUPOSUSUARIOS)
                .HasForeignKey(d => d.IDGRUPOMENU)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("GRUPOSUSUARIOS_FK_01");
        });

        modelBuilder.Entity<GRUPO_ALTOCARGO>(entity =>
        {
            entity.HasKey(e => e.IDGRUPO).HasName("GRUPO_ALTOCARGO_PK");

            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.ACTIVO)
                .HasMaxLength(1)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'S'")
                .IsFixedLength();
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.GRUPO)
                .HasMaxLength(3)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
            entity.Property(e => e.IMPORTE_G)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
            entity.Property(e => e.IMPORTE_G_EXTRAS)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
            entity.Property(e => e.IMPORTE_TRI_TOA)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
            entity.Property(e => e.IMPORTE_TRI_TOAE)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER(10,2)");
        });

        modelBuilder.Entity<HIJOS>(entity =>
        {
            entity.HasKey(e => e.IDHIJO).HasName("PRIMARY_85");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "HIJOS_DISCAPACIDAD_IDX");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONA_IDX");

            entity.Property(e => e.IDHIJO).HasPrecision(10);
            entity.Property(e => e.ENTEROIRPF).HasPrecision(1);
            entity.Property(e => e.FECHAADOPCION).HasColumnType("DATE");
            entity.Property(e => e.FECHANACIMIENTO).HasColumnType("DATE");
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.MOVILIDADREDUCIDA).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.SEXO)
                .HasMaxLength(2)
                .IsUnicode(false);

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.HIJOS)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .HasConstraintName("HIJOS_FK_01");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.HIJOS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("HIJOS_FK_02");
        });

        modelBuilder.Entity<HIJOSHISTORICOIRPF>(entity =>
        {
            entity.HasKey(e => e.IDHIJOSHISTORICOIRPF).HasName("PRIMARY_11");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "HIJOSHISTORICOIRPF_DISCAPACIDA");

            entity.HasIndex(e => e.IDHISTORICOIRPF, "HIJOSHISTORICOIRPF_HISTORICOIR");

            entity.Property(e => e.IDHIJOSHISTORICOIRPF).HasPrecision(10);
            entity.Property(e => e.ENTEROIRPF).HasPrecision(1);
            entity.Property(e => e.FECHAADOPCION).HasColumnType("DATE");
            entity.Property(e => e.FECHANACIMIENTO).HasColumnType("DATE");
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDHISTORICOIRPF).HasPrecision(10);
            entity.Property(e => e.MOVILIDADREDUCIDA).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.SEXO)
                .HasMaxLength(2)
                .IsUnicode(false);

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.HIJOSHISTORICOIRPF)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .HasConstraintName("HIJOSHISTORICOIRPF_FK_01");

            entity.HasOne(d => d.IDHISTORICOIRPFNavigation).WithMany(p => p.HIJOSHISTORICOIRPF)
                .HasForeignKey(d => d.IDHISTORICOIRPF)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("HIJOSHISTORICOIRPF_FK_02");
        });

        modelBuilder.Entity<HISTORICOIRPF>(entity =>
        {
            entity.HasKey(e => e.IDHISTORICOIRPF).HasName("PRIMARY_72");

            entity.HasIndex(e => e.ANNO, "ANNO");

            entity.HasIndex(e => e.FECHACALCULO, "FECHACALCULO");

            entity.HasIndex(e => e.IDPERSONA, "HISTORICOIRPF_PERSONAS_IDX");

            entity.Property(e => e.IDHISTORICOIRPF).HasPrecision(10);
            entity.Property(e => e.ANNO).HasPrecision(10);
            entity.Property(e => e.ANTREGSEAPLMINORPAGPRESVIV).HasPrecision(1);
            entity.Property(e => e.ANUALPORALIFAVORHIJOS).HasColumnType("FLOAT");
            entity.Property(e => e.BASECALCTIPRETDETANTREGULAR).HasColumnType("FLOAT");
            entity.Property(e => e.BASECALCULOTIPORETENCION).HasColumnType("FLOAT");
            entity.Property(e => e.CAUSAREGULARIZACION1).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION10).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION11).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION2).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION3).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION4).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION5).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION6).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION7).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION8).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION9).HasPrecision(1);
            entity.Property(e => e.CONSERVATIPO).HasPrecision(1);
            entity.Property(e => e.DATANTERRENDIOBTENCEUOMEL).HasPrecision(1);
            entity.Property(e => e.DEDUCCIONART80BISLIRPF).HasColumnType("FLOAT");
            entity.Property(e => e.FECHACALCULO).HasColumnType("DATE");
            entity.Property(e => e.GASTOSDEDUCIBLES).HasColumnType("FLOAT");
            entity.Property(e => e.IDCONTRATOORELACION).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONFAMILIAR).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONLABORAL).HasPrecision(10);
            entity.Property(e => e.IMPANURETEINGRACUENDETANTREG).HasColumnType("FLOAT");
            entity.Property(e => e.IMPMINPAGPRESTVIVANTREG)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEANUALRETENCIONES).HasColumnType("FLOAT");
            entity.Property(e => e.MINPAGPRESTVIVHA).HasPrecision(1);
            entity.Property(e => e.MINPERSYFAMCALCRETANTREGU).HasColumnType("FLOAT");
            entity.Property(e => e.MINPERSYFAMCALCRETEN).HasColumnType("FLOAT");
            entity.Property(e => e.MOVILIDADGEOGRAFICA).HasPrecision(1);
            entity.Property(e => e.NECEAYUDATERCPERSOMOVILRED).HasPrecision(1);
            entity.Property(e => e.NIFCONYUGE)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.PENSCOMPENFAVORCONYUGE).HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJEDEDISCAPACIDAD).HasColumnType("FLOAT");
            entity.Property(e => e.PROLONGACTLABORAL).HasPrecision(1);
            entity.Property(e => e.REDUCCIONESPORIRREGULARIDAD182).HasColumnType("FLOAT");
            entity.Property(e => e.REDUCCIONESPORIRREGULARIDAD183).HasColumnType("FLOAT");
            entity.Property(e => e.RENDANTFUERONCEUOMEL).HasPrecision(1);
            entity.Property(e => e.RETEINGRACUENTAPRACTANTAREG).HasColumnType("FLOAT");
            entity.Property(e => e.RETRIANUALCONSICONANTREG).HasColumnType("FLOAT");
            entity.Property(e => e.RETRIINTEINFER33MIL).HasPrecision(1);
            entity.Property(e => e.RETRIYASATISCONANTERAREGULAR).HasColumnType("FLOAT");
            entity.Property(e => e.RETRTOTALESIMPORTEINTEGRO).HasColumnType("FLOAT");
            entity.Property(e => e.TIPODERETENCIONAAPLICAR).HasColumnType("FLOAT");
            entity.Property(e => e.TIPODERETENCIONCALCULADO).HasColumnType("FLOAT");
            entity.Property(e => e.TIPRETENCALCANTREGU).HasColumnType("FLOAT");

            entity.HasOne(d => d.IDCONTRATOORELACIONNavigation).WithMany(p => p.HISTORICOIRPF)
                .HasForeignKey(d => d.IDCONTRATOORELACION)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("HISTORICOIRPF_FK_02");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.HISTORICOIRPF)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("HISTORICOIRPF_FK_01");
        });

        modelBuilder.Entity<HORARIOS>(entity =>
        {
            entity.HasKey(e => e.IDHORARIO).HasName("PRIMARY_86");

            entity.Property(e => e.IDHORARIO).HasPrecision(10);
            entity.Property(e => e.CODIGOANTIGUO)
                .HasMaxLength(4)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
        });

        modelBuilder.Entity<HORARIOSCURSOS>(entity =>
        {
            entity.HasKey(e => e.IDHORARIOCURSO).HasName("HORARIOSCURSOS_PK");

            entity.Property(e => e.IDHORARIOCURSO).HasPrecision(10);
            entity.Property(e => e.FECHA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.HORAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDCURSO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDCURSONavigation).WithMany(p => p.HORARIOSCURSOS)
                .HasForeignKey(d => d.IDCURSO)
                .HasConstraintName("HORARIOSCURSOS_FK1");
        });

        modelBuilder.Entity<HORARIOSPERSONAS>(entity =>
        {
            entity.HasKey(e => e.IDHORARIOPERSONA).HasName("PRIMARY_73");

            entity.HasIndex(e => e.IDTARDEOBLIGATORIA, "HORARIOSPERSONAS_ENUMERACIONES");

            entity.HasIndex(e => e.IDHORARIO, "HORARIOSPERSONAS_HORARIOS_IDX");

            entity.HasIndex(e => e.IDPERSONA, "HORARIOSPERSONAS_PERSONAS_IDX");

            entity.HasIndex(e => e.IDTURNO, "HORARIOSPERSONAS_TURNOS_IDX");

            entity.Property(e => e.IDHORARIOPERSONA).HasPrecision(10);
            entity.Property(e => e.APLICAFACTORUJIER).HasPrecision(1);
            entity.Property(e => e.APLICAFACTPERSONHAB).HasPrecision(1);
            entity.Property(e => e.FACTOREXTRA1).HasColumnType("FLOAT");
            entity.Property(e => e.FACTOREXTRA2).HasColumnType("FLOAT");
            entity.Property(e => e.FACTORVIESABDOM).HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAFINLACTANCIA).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIOLACTANCIA).HasColumnType("DATE");
            entity.Property(e => e.HORAEXTRACOMPENSAMES).HasPrecision(1);
            entity.Property(e => e.HORAFINEXTRA1_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINEXTRA2_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOEXTRA1_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOEXTRA2_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASLACTANCIA_D).HasColumnType("FLOAT");
            entity.Property(e => e.IDHORARIO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDTARDEOBLIGATORIA).HasPrecision(10);
            entity.Property(e => e.IDTURNO).HasPrecision(10);
            entity.Property(e => e.LISTABLE).HasPrecision(1);

            entity.HasOne(d => d.IDHORARIONavigation).WithMany(p => p.HORARIOSPERSONAS)
                .HasForeignKey(d => d.IDHORARIO)
                .HasConstraintName("HORARIOSPERSONAS_FK_03");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.HORARIOSPERSONAS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("HORARIOSPERSONAS_FK_04");

            entity.HasOne(d => d.IDTARDEOBLIGATORIANavigation).WithMany(p => p.HORARIOSPERSONASIDTARDEOBLIGATORIANavigation)
                .HasForeignKey(d => d.IDTARDEOBLIGATORIA)
                .HasConstraintName("HORARIOSPERSONAS_FK_01");

            entity.HasOne(d => d.IDTURNONavigation).WithMany(p => p.HORARIOSPERSONASIDTURNONavigation)
                .HasForeignKey(d => d.IDTURNO)
                .HasConstraintName("HORARIOSPERSONAS_FK_02");
        });

        modelBuilder.Entity<HORASEXTRAS>(entity =>
        {
            entity.HasKey(e => e.IDHORASEXTRA).HasName("PRIMARY_25");

            entity.Property(e => e.IDHORASEXTRA).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(512)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FACTOR)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHAHORAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAHORAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.HORAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HORASASUMAR_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.HORASEXTRAS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("HORASEXTRAS_PERSONAS_FK1");
        });

        modelBuilder.Entity<HORASMES>(entity =>
        {
            entity.HasKey(e => e.IDHORAMES).HasName("PRIMARY_26");

            entity.HasIndex(e => e.IDPERSONA, "HORASMES_PERSONAS_IDX");

            entity.HasIndex(e => e.IDSITUACIONMES, "HORASMES_SITUACIONMES_IDX");

            entity.Property(e => e.IDHORAMES).HasPrecision(10);
            entity.Property(e => e.COMPENSADASSEMANASIGUIENTE_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.HORASCOMPENSADAS_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HORASCURSOS_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HORASJORNADAHABITUAL_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HORASPARACOMPENSAR_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HTFUERAJORNHABEXTX1_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HTFUERAJORNHABEXTX2_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HTFUERAJORNHAB_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.HTJORNADAHABITUAL_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDSITUACIONMES)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.QUECOMPENSASEMANAANTERIOR_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOADETRAER_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOFUERAJORNADAHABITUAL_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOHORARECUPERABLES)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOHORASCOMPENSADAS_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOJORNADAHABITUAL_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOREALJORNADAHABITUAL_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOSEMESTREHORASRECUP_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDOSEMESTRE_D)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.HORASMES)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("HORASMES_FK_02");

            entity.HasOne(d => d.IDSITUACIONMESNavigation).WithMany(p => p.HORASMES)
                .HasForeignKey(d => d.IDSITUACIONMES)
                .HasConstraintName("HORASMES_FK_01");
        });

        modelBuilder.Entity<HUELGAS>(entity =>
        {
            entity.HasKey(e => e.IDHUELGA).HasName("HUELGAS_PK");

            entity.Property(e => e.IDHUELGA).HasPrecision(10);
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.HORAS)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDNOMINAAPLICACION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDNOMINAORIGENDATOS)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMINANORMAL)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMINASEGURIDADSOCIAL)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDNOMINAAPLICACIONNavigation).WithMany(p => p.HUELGASIDNOMINAAPLICACIONNavigation)
                .HasForeignKey(d => d.IDNOMINAAPLICACION)
                .HasConstraintName("HUELGAS_FK_02");

            entity.HasOne(d => d.IDNOMINAORIGENDATOSNavigation).WithMany(p => p.HUELGASIDNOMINAORIGENDATOSNavigation)
                .HasForeignKey(d => d.IDNOMINAORIGENDATOS)
                .HasConstraintName("HUELGAS_FK_03");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.HUELGAS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("HUELGAS_FK_01");
        });

        modelBuilder.Entity<IDIOMAS>(entity =>
        {
            entity.HasKey(e => e.IDIDIOMA).HasName("IDIOMAS_PK");

            entity.Property(e => e.IDIDIOMA).HasPrecision(10);
            entity.Property(e => e.ANNO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.CENTROEXPEDICION)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDNIVEL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDTIPOIDIOMA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDNIVELNavigation).WithMany(p => p.IDIOMASIDNIVELNavigation)
                .HasForeignKey(d => d.IDNIVEL)
                .HasConstraintName("IDIOMAS_FK2");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.IDIOMAS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("IDIOMAS_FK3");

            entity.HasOne(d => d.IDTIPOIDIOMANavigation).WithMany(p => p.IDIOMASIDTIPOIDIOMANavigation)
                .HasForeignKey(d => d.IDTIPOIDIOMA)
                .HasConstraintName("IDIOMAS_FK1");
        });

        modelBuilder.Entity<INCIDENCIAS>(entity =>
        {
            entity.HasKey(e => e.IDINCIDENCIA).HasName("PRIMARY_48");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONA_IDX_1");

            entity.HasIndex(e => e.IDCONCEPTONOMINA, "INCIDENCIA_CONCEPTOSGENERALES_");

            entity.HasIndex(e => e.IDNOMINACABECERA, "INCIDENCIA_NOMINACABECERA_IDX");

            entity.HasIndex(e => e.IDNOMINA, "INCIDENCIA_NOMINA_IDX");

            entity.Property(e => e.IDINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.APLICACIONPRESUPUESTARIA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.AÑONOMINA).HasPrecision(10);
            entity.Property(e => e.CANTIDAD)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COTIZASEGURIDADSOCIAL).HasPrecision(1);
            entity.Property(e => e.ESDELIQUIDACION).HasPrecision(1);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.IDCONCEPTONOMINA).HasPrecision(10);
            entity.Property(e => e.IDGRUPOINCIDENCIAS).HasPrecision(10);
            entity.Property(e => e.IDNOMINA).HasPrecision(10);
            entity.Property(e => e.IDNOMINACABECERA).HasPrecision(10);
            entity.Property(e => e.IDNOMINAORIGEN).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IRPF).HasColumnType("FLOAT");
            entity.Property(e => e.IRPFFICHA).HasPrecision(1);
            entity.Property(e => e.MESNOMINA).HasPrecision(10);
            entity.Property(e => e.NOMINANORMAL).HasPrecision(1);
            entity.Property(e => e.NOMINASEGURIDADSOCIAL).HasPrecision(1);
            entity.Property(e => e.NOPARAIRPF).HasPrecision(1);
            entity.Property(e => e.SUSTITUYECONCEPTO).HasPrecision(1);
            entity.Property(e => e.TEXTO)
                .HasMaxLength(100)
                .IsUnicode(false);

            entity.HasOne(d => d.IDCONCEPTONOMINANavigation).WithMany(p => p.INCIDENCIAS)
                .HasForeignKey(d => d.IDCONCEPTONOMINA)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("INCIDENCIAS_FK_01");

            entity.HasOne(d => d.IDNOMINANavigation).WithMany(p => p.INCIDENCIAS)
                .HasForeignKey(d => d.IDNOMINA)
                .HasConstraintName("INCIDENCIAS_FK_03");

            entity.HasOne(d => d.IDNOMINACABECERANavigation).WithMany(p => p.INCIDENCIAS)
                .HasForeignKey(d => d.IDNOMINACABECERA)
                .HasConstraintName("INCIDENCIAS_FK_02");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.INCIDENCIAS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("INCIDENCIAS_FK_04");
        });

        modelBuilder.Entity<INCIDENCIASCONTROLHORARIO>(entity =>
        {
            entity.HasKey(e => e.IDINCIDENCIA).HasName("PRIMARY_27");

            entity.HasIndex(e => e.CODIGO, "CODIGO_UNIQUE_3").IsUnique();

            entity.HasIndex(e => e.DESCRIPCION, "DESCRIPCION_UNIQUE_5").IsUnique();

            entity.HasIndex(e => e.IDTIPO, "INCIDENCIASCONTROLHORARIO_ENUM");

            entity.Property(e => e.IDINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.ADJUNTONOVISIBLESUPERVISOR).HasPrecision(1);
            entity.Property(e => e.ADMITEDIASCOMPLETO).HasPrecision(1);
            entity.Property(e => e.ADMITEINSTANTETEMPORAL).HasPrecision(1);
            entity.Property(e => e.ADMITEINTERVALOSDEDIAS).HasPrecision(1);
            entity.Property(e => e.ADMITEINTERVALOSHORARIOS).HasPrecision(1);
            entity.Property(e => e.ADMITELISTA).HasPrecision(1);
            entity.Property(e => e.ADMITENUMEROELEMENTOS).HasPrecision(1);
            entity.Property(e => e.ADMITEUNSOLOINTERVALOHORARIO).HasPrecision(1);
            entity.Property(e => e.ADMITEVARIOSINTERVALOSFECHA).HasPrecision(1);
            entity.Property(e => e.AYUDAWEB)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.COGESALDODIASEXTRAS).HasPrecision(1);
            entity.Property(e => e.COMPENSAHORASHORARIO).HasPrecision(1);
            entity.Property(e => e.CONCURRENTECONPICADAS).HasPrecision(1);
            entity.Property(e => e.CUENTANFESTIVOS).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCIONELEMENTOS)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCIONWEB)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.DESCUENTAPRODUCTIVIDAD).HasPrecision(1);
            entity.Property(e => e.ESINCIDENCIADERELOJ).HasPrecision(1);
            entity.Property(e => e.ESINCIDENCIAFINTELETRABAJO).HasPrecision(1);
            entity.Property(e => e.ESINCIDENCIATELETRABAJO).HasPrecision(1);
            entity.Property(e => e.FECHABAJA).HasColumnType("DATE");
            entity.Property(e => e.HORASACOMPENSAR_D).HasColumnType("FLOAT");
            entity.Property(e => e.IDADJUNTO).HasPrecision(10);
            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.IDGRUPOINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.IDSUBGRUPOINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.INCORPORADIASEXTRAS).HasPrecision(1);
            entity.Property(e => e.INCORPORAHORASEXTRAS).HasPrecision(1);
            entity.Property(e => e.MAXIMODIASCONSECUTIVOS).HasPrecision(1);
            entity.Property(e => e.NOCUENTAPARALISTADO).HasPrecision(1);
            entity.Property(e => e.NUMEROMAXOCURRENCIASDIAS).HasPrecision(10);
            entity.Property(e => e.NUMEROMAXOCURRENCIASHORAS_D).HasColumnType("FLOAT");
            entity.Property(e => e.ORDEN).HasPrecision(10);
            entity.Property(e => e.PUEDECOINCIDIRCONOTRA).HasPrecision(1);
            entity.Property(e => e.REQUIEREAPROBACION).HasPrecision(1);
            entity.Property(e => e.VISIBLEWEB).HasPrecision(1);

            entity.HasOne(d => d.IDADJUNTONavigation).WithMany(p => p.INCIDENCIASCONTROLHORARIOIDADJUNTONavigation)
                .HasForeignKey(d => d.IDADJUNTO)
                .HasConstraintName("INCIDENCIASCONTROLHORARI_FK_02");

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.INCIDENCIASCONTROLHORARIOIDGRUPONavigation)
                .HasForeignKey(d => d.IDGRUPO)
                .HasConstraintName("INCIDENCIASCONTROLHORARI_FK_03");

            entity.HasOne(d => d.IDGRUPOINCIDENCIANavigation).WithMany(p => p.INCIDENCIASCONTROLHORARIO)
                .HasForeignKey(d => d.IDGRUPOINCIDENCIA)
                .HasConstraintName("INCIDENCIASCONTROLHORARIO_FK1");

            entity.HasOne(d => d.IDSUBGRUPOINCIDENCIANavigation).WithMany(p => p.INCIDENCIASCONTROLHORARIO)
                .HasForeignKey(d => d.IDSUBGRUPOINCIDENCIA)
                .HasConstraintName("INCIDENCIASCONTROLHORARIO_FK2");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.INCIDENCIASCONTROLHORARIOIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("INCIDENCIASCONTROLHORARI_FK_01");
        });

        modelBuilder.Entity<LEGISLATURAS>(entity =>
        {
            entity.HasKey(e => e.IDLEGISLATURA).HasName("PRIMARY_63");

            entity.HasIndex(e => e.NUMERO, "NUMERO_UNIQUE").IsUnique();

            entity.Property(e => e.IDLEGISLATURA).HasPrecision(10);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.NUMERO).HasPrecision(10);
        });

        modelBuilder.Entity<LINEASVIDAADMINISTRATIVA>(entity =>
        {
            entity.HasKey(e => e.IDLINEAVIDAADMIN).HasName("LINEASVIDAADMINISTRATIVA_PK");

            entity.Property(e => e.IDLINEAVIDAADMIN).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.FECHASUBIDA).HasColumnType("DATE");
            entity.Property(e => e.IDLINEAANTERIOR).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.IDVIDAADMIN).HasPrecision(10);
            entity.Property(e => e.RUTA)
                .HasMaxLength(250)
                .IsUnicode(false);
            entity.Property(e => e.SOBREESCRITO).HasPrecision(1);

            entity.HasOne(d => d.IDLINEAANTERIORNavigation).WithMany(p => p.InverseIDLINEAANTERIORNavigation)
                .HasForeignKey(d => d.IDLINEAANTERIOR)
                .HasConstraintName("LINEASVIDAADMINISTRATIVA_FK3");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.LINEASVIDAADMINISTRATIVA)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("LINEASVIDAADMINISTRATIVA_FK1");

            entity.HasOne(d => d.IDVIDAADMINNavigation).WithMany(p => p.LINEASVIDAADMINISTRATIVA)
                .HasForeignKey(d => d.IDVIDAADMIN)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("LINEASVIDAADMINISTRATIVA_FK2");
        });

        modelBuilder.Entity<LOGS>(entity =>
        {
            entity.HasKey(e => e.IDLOG).HasName("PRIMARY_49");

            entity.Property(e => e.IDLOG).HasPrecision(10);
            entity.Property(e => e.APLICACION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.FECHAHORA).HasColumnType("DATE");
            entity.Property(e => e.ID).HasPrecision(10);
            entity.Property(e => e.IDCONEXION).HasPrecision(10);
            entity.Property(e => e.IDTIMESTAMP).HasColumnType("FLOAT");
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.IP)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.LOG).HasColumnType("CLOB");
            entity.Property(e => e.TABLA)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(30)
                .IsUnicode(false);
        });

        modelBuilder.Entity<MAPEOSUSUARIOS>(entity =>
        {
            entity.HasKey(e => e.IDMAPEOUSUARIO).HasName("MAPEOSUSUARIOS_PK");

            entity.Property(e => e.IDMAPEOUSUARIO).HasPrecision(10);
            entity.Property(e => e.FECHAHORAVALIDEZ)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.USUARIO)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.MAPEOSUSUARIOS)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("MAPEOSUSUARIOS_FK1");
        });

        modelBuilder.Entity<MATERNIDADES>(entity =>
        {
            entity.HasKey(e => e.IDMATERNIDADES).HasName("PRIMARY_12");

            entity.HasIndex(e => e.IDPERSONA, "MATERNIDADES_PERSONAS_IDX");

            entity.Property(e => e.IDMATERNIDADES).HasPrecision(10);
            entity.Property(e => e.AMORTIZAPRESTAMOS)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.BASECOTIZACIONSEGURIDADSOCIAL).HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMINANORMAL)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMINASEGURIDADSOCIAL)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.PORCENTAJEREDUCCIONJORNADA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.RIESGOEMBARAZO)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.MATERNIDADES)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("MATERNIDADES_FK_01");
        });

        modelBuilder.Entity<MENUS>(entity =>
        {
            entity.HasKey(e => e.IDMENUS).HasName("PRIMARY_50");

            entity.HasIndex(e => e.IDGRUPOMENU, "MENUS_GRUPOSMENUS_7");

            entity.HasIndex(e => e.IDPERMISO, "MENUS_PERMISOS_IDX");

            entity.Property(e => e.IDMENUS).HasPrecision(10);
            entity.Property(e => e.ACCION)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.AYUDA)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.DESPLEGADO).HasPrecision(1);
            entity.Property(e => e.IDGRUPOMENU).HasPrecision(10);
            entity.Property(e => e.IDMENUPADRE).HasPrecision(10);
            entity.Property(e => e.IDPERMISO).HasPrecision(10);
            entity.Property(e => e.MOSTRARENPANEL).HasPrecision(1);
            entity.Property(e => e.ORDEN).HasPrecision(10);
            entity.Property(e => e.TEXTO)
                .HasMaxLength(60)
                .IsUnicode(false);

            entity.HasOne(d => d.IDGRUPOMENUNavigation).WithMany(p => p.MENUS)
                .HasForeignKey(d => d.IDGRUPOMENU)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("MENUS_FK_01");

            entity.HasOne(d => d.IDPERMISONavigation).WithMany(p => p.MENUS)
                .HasForeignKey(d => d.IDPERMISO)
                .HasConstraintName("MENUS_FK_02");
        });

        modelBuilder.Entity<MOTIVOS_ADMINISTRATIVOS>(entity =>
        {
            entity.HasKey(e => e.IDMOTIVO).HasName("MOTIVOS_ADMINISTRATIVOS_PK");

            entity.Property(e => e.IDMOTIVO).HasPrecision(10);
            entity.Property(e => e.ACTIVO)
                .HasMaxLength(2)
                .IsUnicode(false)
                .HasDefaultValueSql("'S'")
                .IsFixedLength();
            entity.Property(e => e.ACTIVOB).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IDTIPOAPTOS).HasPrecision(10);
            entity.Property(e => e.MOTIVO)
                .HasMaxLength(4)
                .IsUnicode(false)
                .IsFixedLength();
            entity.Property(e => e.TIPO)
                .HasMaxLength(2)
                .IsUnicode(false)
                .IsFixedLength();

            entity.HasOne(d => d.IDTIPOAPTOSNavigation).WithMany(p => p.MOTIVOS_ADMINISTRATIVOS)
                .HasForeignKey(d => d.IDTIPOAPTOS)
                .HasConstraintName("MOTIVOS_ADMINISTRATIVOS_FK1");
        });

        modelBuilder.Entity<MUNICIPIOS>(entity =>
        {
            entity.HasKey(e => e.CODIGOMUNICIPIO).HasName("PRIMARY_51");

            entity.HasIndex(e => e.CODIGOPROVINCIA, "MUNICIPIOS_PROVINCIAS_IDX");

            entity.Property(e => e.CODIGOMUNICIPIO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOCOMARCA)
                .HasMaxLength(6)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPROVINCIA)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.DC)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(80)
                .IsUnicode(false);

            entity.HasOne(d => d.CODIGOPROVINCIANavigation).WithMany(p => p.MUNICIPIOS)
                .HasForeignKey(d => d.CODIGOPROVINCIA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("MUNICIPIOS_FK_01");
        });

        modelBuilder.Entity<NIVEL>(entity =>
        {
            entity.HasKey(e => e.IDNIVEL).HasName("NIVEL_PK");

            entity.Property(e => e.IDNIVEL).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.ALTO_CARGO).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.IMPORTE_N).HasPrecision(10);
            entity.Property(e => e.NIVEL1)
                .HasMaxLength(3)
                .IsUnicode(false)
                .IsFixedLength()
                .HasColumnName("NIVEL");
        });

        modelBuilder.Entity<NOMINAS>(entity =>
        {
            entity.HasKey(e => e.IDNOMINAS).HasName("PRIMARY_74");

            entity.HasIndex(e => e.IDSITUACIONNOMINA, "NOMINAS_SITUACION_IDX");

            entity.HasIndex(e => e.IDTIPO, "NOMINAS_TIPO_IDX");

            entity.Property(e => e.IDNOMINAS).HasPrecision(10);
            entity.Property(e => e.AÑO)
                .HasPrecision(10)
                .HasDefaultValueSql("0 ");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAFINLIQUIDACIONDIETA).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIOLIQUIDACIONDIETA).HasColumnType("DATE");
            entity.Property(e => e.FECHAPAGO).HasColumnType("DATE");
            entity.Property(e => e.GENERANOMINILLA).HasPrecision(1);
            entity.Property(e => e.IDSITUACIONNOMINA).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.MES)
                .HasPrecision(10)
                .HasDefaultValueSql("0 ");
            entity.Property(e => e.NUMERODIASFESTIVOS).HasPrecision(10);
            entity.Property(e => e.NUMERODIASLABORABLES).HasPrecision(10);
            entity.Property(e => e.PAGAEXTRA).HasPrecision(1);
            entity.Property(e => e.VISIBLEINTRANET).HasPrecision(1);

            entity.HasOne(d => d.IDSITUACIONNOMINANavigation).WithMany(p => p.NOMINASIDSITUACIONNOMINANavigation)
                .HasForeignKey(d => d.IDSITUACIONNOMINA)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("NOMINAS_FK_01");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.NOMINASIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("NOMINAS_FK_02");
        });

        modelBuilder.Entity<NOMINATRABAJADORCABECERA>(entity =>
        {
            entity.HasKey(e => e.IDNOMINATRABAJADOR).HasName("PRIMARY_75");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONAL__FF__KK_IDX");

            entity.HasIndex(e => e.IDSINDICATO2, "NOMINATRABAJADORCABECERA_03_EN");

            entity.HasIndex(e => e.IDSINDICATO1, "NOMINATRABAJADORCABECERA_03__1");

            entity.HasIndex(e => e.IDTIPOPERSONA, "NOMINATRABAJADORCABECERA_04_EN");

            entity.HasIndex(e => e.IDFICHERONOMINA, "NOMINATRABAJADORCABECERA_FICHE");

            entity.HasIndex(e => e.IDNOMINA, "NOMINATRABAJADORCABECERA_NOMIN");

            entity.HasIndex(e => e.IDMUTUA, "NOMINATRABAJDORCABECERA_ENUMER");

            entity.Property(e => e.IDNOMINATRABAJADOR).HasPrecision(10);
            entity.Property(e => e.ACUMULADA).HasPrecision(1);
            entity.Property(e => e.AÑONOMINA)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.BASEACCIDENTES)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASECCACTI)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASECCENF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEDPNR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEDYFPACTI)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEDYFPENF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEENFERMEDADAL60)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEENFERMEDADAL75)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEMATE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEPAGODIRECTO)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASESEGURIDADSOCIAL100X100).HasColumnType("FLOAT");
            entity.Property(e => e.CUOTASINDICAL1).HasColumnType("FLOAT");
            entity.Property(e => e.CUOTASINDICAL2).HasColumnType("FLOAT");
            entity.Property(e => e.DIASACCIDENTES)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASBASEPAGODIRECTO).HasPrecision(10);
            entity.Property(e => e.DIASDEPAGALIQUIDADOS)
                .HasPrecision(10)
                .HasDefaultValueSql("0");
            entity.Property(e => e.DIASEFECTIVOS)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASENFERMEDADAL60)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASENFERMEDADAL75)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASENFERMOS)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASFALTA)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASMATERNIDAD)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.DIASPERMISOSSINRETRIBUIR)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.ESLIQUIDACIONDIPUTADO).HasPrecision(1);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
            entity.Property(e => e.IDFICHERONOMINA).HasPrecision(10);
            entity.Property(e => e.IDGRUPOFUNCIONARIO).HasPrecision(10);
            entity.Property(e => e.IDMUTUA).HasPrecision(10);
            entity.Property(e => e.IDMUTUA2).HasPrecision(10);
            entity.Property(e => e.IDNOMINA).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDSINDICATO1).HasPrecision(10);
            entity.Property(e => e.IDSINDICATO2).HasPrecision(10);
            entity.Property(e => e.IDTIPOPERSONA)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IMPORTEPDACC)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEPDENF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MESNOMINA)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.MODIFICABLE).HasPrecision(1);
            entity.Property(e => e.NIVEL)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.NUMERODEDESPLAZAMIENTOS)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.NUMEROPLURIEMPLEO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(550)
                .IsUnicode(false);
            entity.Property(e => e.OTRASDEDUCCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PLURIEMPLEO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PRORRATAPAGAEXTRA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PRORRATAPRODUCTIVIDAD)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PROTEGIDA).HasPrecision(1);
            entity.Property(e => e.REDUCCIONJORNADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SESIONES)
                .HasMaxLength(150)
                .IsUnicode(false);
            entity.Property(e => e.TOTALDEDUCCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALDEVENGADO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALEPIGRAFE126)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALHABERES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALIRPF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALLIQUIDO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALMATERNIDADPATERNIDAD)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALPAGOESPECIE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALPERMISOSINRETRIBUIR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALSEGURIDADSOCIAL)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALSEGURIDADSOCIALCONCEPTO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALSSPAGOENESPECIE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRABAJOTIEMPOPARCIAL)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.VISIBLE).HasPrecision(1);

            entity.HasOne(d => d.IDFICHERONOMINANavigation).WithMany(p => p.NOMINATRABAJADORCABECERA)
                .HasForeignKey(d => d.IDFICHERONOMINA)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_05");

            entity.HasOne(d => d.IDGRUPOFUNCIONARIONavigation).WithMany(p => p.NOMINATRABAJADORCABECERAIDGRUPOFUNCIONARIONavigation)
                .HasForeignKey(d => d.IDGRUPOFUNCIONARIO)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_09");

            entity.HasOne(d => d.IDMUTUANavigation).WithMany(p => p.NOMINATRABAJADORCABECERAIDMUTUANavigation)
                .HasForeignKey(d => d.IDMUTUA)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_01");

            entity.HasOne(d => d.IDMUTUA2Navigation).WithMany(p => p.NOMINATRABAJADORCABECERAIDMUTUA2Navigation)
                .HasForeignKey(d => d.IDMUTUA2)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_08");

            entity.HasOne(d => d.IDNOMINANavigation).WithMany(p => p.NOMINATRABAJADORCABECERA)
                .HasForeignKey(d => d.IDNOMINA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_06");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.NOMINATRABAJADORCABECERA)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_07");

            entity.HasOne(d => d.IDSINDICATO1Navigation).WithMany(p => p.NOMINATRABAJADORCABECERAIDSINDICATO1Navigation)
                .HasForeignKey(d => d.IDSINDICATO1)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_02");

            entity.HasOne(d => d.IDSINDICATO2Navigation).WithMany(p => p.NOMINATRABAJADORCABECERAIDSINDICATO2Navigation)
                .HasForeignKey(d => d.IDSINDICATO2)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_03");

            entity.HasOne(d => d.IDTIPOPERSONANavigation).WithMany(p => p.NOMINATRABAJADORCABECERAIDTIPOPERSONANavigation)
                .HasForeignKey(d => d.IDTIPOPERSONA)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("NOMINATRABAJADORCABECERA_FK_04");
        });

        modelBuilder.Entity<NOMINATRABAJADORLINEA>(entity =>
        {
            entity.HasKey(e => e.IDNOMINATRABAJADORLINEA).HasName("PRIMARY_32");

            entity.HasIndex(e => e.IDNOMINACABECERA, "IDNOMINACABECERAFK_IDX");

            entity.HasIndex(e => e.IDCONCEPTOSPUESTODETRABAJO, "NOMINATRABAJADORLINEA_CONCEPTO");

            entity.HasIndex(e => e.IDCONCEPTOGENERAL, "NOMINATRABAJADORLINEA_CONCEP_1");

            entity.Property(e => e.IDNOMINATRABAJADORLINEA).HasPrecision(10);
            entity.Property(e => e.APLICACIONPRESUPUESTARIA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.CANTIDAD)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CANTIDADMODIFICADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONCEPTOAL100)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCRIPCIONCONCEPTO)
                .HasMaxLength(120)
                .IsUnicode(false)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.FECHAFINCONCEPTO).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIOCONCEPTO).HasColumnType("DATE");
            entity.Property(e => e.IDCONCEPTOGENERAL)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IDCONCEPTOSPUESTODETRABAJO).HasPrecision(10);
            entity.Property(e => e.IDNOMINACABECERA).HasPrecision(10);
            entity.Property(e => e.IDPUESTOTRABAJO)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IDTIPOPERSONA)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEMODIFICADO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.ORDEN).HasPrecision(10);
            entity.Property(e => e.PORCENTAJEIRPF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.REDUCCIONJORNADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TIENEDESGLOSE).HasPrecision(1);
            entity.Property(e => e.TOTALDEDUCCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALDEDUCCIONESMODIFICADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALRETRIBUCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALRETRIBUCIONESMODIFICADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRABAJOATIEMPOPARCIAL)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.VIENEDEINCIDENCIA).HasPrecision(1);

            entity.HasOne(d => d.IDCONCEPTOGENERALNavigation).WithMany(p => p.NOMINATRABAJADORLINEA)
                .HasForeignKey(d => d.IDCONCEPTOGENERAL)
                .HasConstraintName("NOMINATRABAJADORLINEA_FK_01");

            entity.HasOne(d => d.IDNOMINACABECERANavigation).WithMany(p => p.NOMINATRABAJADORLINEA)
                .HasForeignKey(d => d.IDNOMINACABECERA)
                .HasConstraintName("NOMINATRABAJADORLINEA_FK_02");
        });

        modelBuilder.Entity<NOMINATRABAJADORLINEADESGLOSE>(entity =>
        {
            entity.HasKey(e => e.IDNOMTRABLINDESGL).HasName("PRIMARY_76");

            entity.HasIndex(e => e.IDNOMINATRABAJADORLINEA, "NOMINATRABAJADORLINEADESGLOSE_");

            entity.Property(e => e.IDNOMTRABLINDESGL).HasPrecision(10);
            entity.Property(e => e.APLICACIONPRESUPUESTARIA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.CANTIDAD)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CANTIDADMODIFICADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONCEPTOAL100)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCRIPCIONCONCEPTO)
                .HasMaxLength(120)
                .IsUnicode(false)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IDCONCEPTOSPUESTODETRABAJO).HasPrecision(10);
            entity.Property(e => e.IDNOMINATRABAJADORLINEA).HasPrecision(10);
            entity.Property(e => e.IDPUESTOTRABAJO)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IDTIPOPERSONA)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEMODIFICADO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJEIRPF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.REDUCCIONJORNADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALDEDUCCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALDEDUCCIONESMODIFICADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALRETRIBUCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTALRETRIBUCIONESMODIFICADA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRABAJOATIEMPOPARCIAL)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDNOMINATRABAJADORLINEANavigation).WithMany(p => p.NOMINATRABAJADORLINEADESGLOSE)
                .HasForeignKey(d => d.IDNOMINATRABAJADORLINEA)
                .HasConstraintName("NOMINATRABAJADORLINEADES_FK_01");
        });

        modelBuilder.Entity<NOMINATRABAJADORPAGOESPECIE>(entity =>
        {
            entity.HasKey(e => e.IDPAGOESPECIE).HasName("PRIMARY_77");

            entity.HasIndex(e => e.IDNOMINATRABAJADORCABECERA, "IDNOMINATRABAJADORCABECERA_I_1");

            entity.Property(e => e.IDPAGOESPECIE).HasPrecision(10);
            entity.Property(e => e.CUOTA)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false)
                .HasDefaultValueSql("'\"\"' ");
            entity.Property(e => e.IDNOMINATRABAJADORCABECERA).HasPrecision(10);
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SEGURIDADSOCIAL).HasPrecision(1);

            entity.HasOne(d => d.IDNOMINATRABAJADORCABECERANavigation).WithMany(p => p.NOMINATRABAJADORPAGOESPECIE)
                .HasForeignKey(d => d.IDNOMINATRABAJADORCABECERA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("NOMINATRABAJADORPAGOESPE_FK_01");
        });

        modelBuilder.Entity<OCUPACION>(entity =>
        {
            entity.HasKey(e => e.IDOCUPACION).HasName("OCUPACION_PK");

            entity.Property(e => e.IDOCUPACION).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION_ANEXO)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.OCUPACION1)
                .HasMaxLength(10)
                .IsUnicode(false)
                .HasColumnName("OCUPACION");
            entity.Property(e => e.OCU_RES)
                .HasMaxLength(2)
                .IsUnicode(false)
                .IsFixedLength();
        });

        modelBuilder.Entity<OTRASRETRIBUCIONES>(entity =>
        {
            entity.HasKey(e => e.IDOTRASRETRIBUCIONES).HasName("PRIMARY_87");

            entity.HasIndex(e => e.IDPERSONA, "OTRASRETRIBUCIONES_PERSONAS_ID");

            entity.Property(e => e.IDOTRASRETRIBUCIONES).HasPrecision(10);
            entity.Property(e => e.AÑO).HasPrecision(10);
            entity.Property(e => e.CRA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IMPORTE).HasColumnType("FLOAT");
            entity.Property(e => e.IRPF).HasPrecision(1);
            entity.Property(e => e.MES).HasPrecision(10);
            entity.Property(e => e.SEGURIDADSOCIAL).HasPrecision(1);

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.OTRASRETRIBUCIONES)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("OTRASRETRIBUCIONES_FK_01");
        });

        modelBuilder.Entity<PAGINASWEBINTRANET>(entity =>
        {
            entity.HasKey(e => e.IDPAGINAWEBINTRANET).HasName("PAGINASWEBINTRANET_PK");

            entity.Property(e => e.IDPAGINAWEBINTRANET)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER");
            entity.Property(e => e.NIVEL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(150)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<PARTIDOSPOLITICOS>(entity =>
        {
            entity.HasKey(e => e.IDPARTIDOPOLITICO).HasName("PRIMARY_33");

            entity.HasIndex(e => e.NOMBRE, "NOMBRE_UNIQUE").IsUnique();

            entity.Property(e => e.IDPARTIDOPOLITICO).HasPrecision(10);
            entity.Property(e => e.ALIAS)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.CANTIDADAPARTIDO).HasColumnType("FLOAT");
            entity.Property(e => e.CANTIDADAPERSONA).HasColumnType("FLOAT");
            entity.Property(e => e.DIRECCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.FECHABAJA).HasColumnType("DATE");
            entity.Property(e => e.IBAN)
                .HasMaxLength(24)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.NUMERODIPUTADOS).HasPrecision(10);
            entity.Property(e => e.POBLACION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.PORCENTAJEAPARTIDO).HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJEAPERSONA).HasColumnType("FLOAT");
        });

        modelBuilder.Entity<PERCEPTORES>(entity =>
        {
            entity.HasKey(e => e.IDPERCEPTOR).HasName("PRIMARY_88");

            entity.HasIndex(e => e.CODIGOPROVINCIA, "PERSONAS_MUNICIPIOS_IDX_1");

            entity.Property(e => e.IDPERCEPTOR).HasPrecision(10);
            entity.Property(e => e.APELLIDOSNOMBREDENOMINACION)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPROVINCIA)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NIFPERCEPTOR)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.NIFREPRESENTANTE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.RENTASOBTENIDASENCEUTAOMELILLA).HasPrecision(1);

            entity.HasOne(d => d.CODIGOPROVINCIANavigation).WithMany(p => p.PERCEPTORES)
                .HasForeignKey(d => d.CODIGOPROVINCIA)
                .HasConstraintName("PERCEPTORES_FK_01");
        });

        modelBuilder.Entity<PERIODOSSILTRA>(entity =>
        {
            entity.HasKey(e => e.IDPERIODOSILTRA).HasName("PRIMARY_28");

            entity.HasIndex(e => e.IDCONTRATO, "PERIODOSSILTRA_CONTRATOS_IDX");

            entity.HasIndex(e => e.GRUPOTARIFA, "PERIODOSSILTRA_ENUMERACIONESGR");

            entity.HasIndex(e => e.IDTIPOLIQUIDACION, "PERIODOSSILTRA_ENUMERACIONESTI");

            entity.HasIndex(e => e.IDTIPOPERIODOTRAMO, "PERIODOSSILTRA_ENUMERACIONES_T");

            entity.HasIndex(e => e.IDESTADO, "PERIODOSSILTRA_ENUMERCAIONES_E");

            entity.HasIndex(e => e.IDNOMINATRABAJADORCABECERA, "PERIODOSSILTRA_NOMINATRABAJADO");

            entity.Property(e => e.IDPERIODOSILTRA).HasPrecision(10);
            entity.Property(e => e.CNAE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.DIAS).HasPrecision(10);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.GRUPOTARIFA)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IDCONTRATO).HasPrecision(10);
            entity.Property(e => e.IDCUENTACOTIZACIONPATRONAL).HasPrecision(10);
            entity.Property(e => e.IDESTADO).HasPrecision(10);
            entity.Property(e => e.IDNOMINATRABAJADORCABECERA).HasPrecision(10);
            entity.Property(e => e.IDTIPOLIQUIDACION).HasPrecision(10);
            entity.Property(e => e.IDTIPOPERIODOTRAMO).HasPrecision(10);
            entity.Property(e => e.IMPORTEIRPF).HasColumnType("FLOAT");
            entity.Property(e => e.NUMERODIASIRPF).HasPrecision(10);
            entity.Property(e => e.NUMEROLIQUIDACION).HasPrecision(10);
            entity.Property(e => e.OCUPACION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.REDUCCIONJORNADA).HasColumnType("FLOAT");

            entity.HasOne(d => d.IDCONTRATONavigation).WithMany(p => p.PERIODOSSILTRA)
                .HasForeignKey(d => d.IDCONTRATO)
                .HasConstraintName("PERIODOSSILTRA_FK_01");

            entity.HasOne(d => d.IDCUENTACOTIZACIONPATRONALNavigation).WithMany(p => p.PERIODOSSILTRA)
                .HasForeignKey(d => d.IDCUENTACOTIZACIONPATRONAL)
                .HasConstraintName("PERIODOSSILTRA_FK_07");

            entity.HasOne(d => d.IDESTADONavigation).WithMany(p => p.PERIODOSSILTRAIDESTADONavigation)
                .HasForeignKey(d => d.IDESTADO)
                .HasConstraintName("PERIODOSSILTRA_FK_04");

            entity.HasOne(d => d.IDNOMINATRABAJADORCABECERANavigation).WithMany(p => p.PERIODOSSILTRA)
                .HasForeignKey(d => d.IDNOMINATRABAJADORCABECERA)
                .HasConstraintName("PERIODOSSILTRA_FK_05");

            entity.HasOne(d => d.IDTIPOLIQUIDACIONNavigation).WithMany(p => p.PERIODOSSILTRAIDTIPOLIQUIDACIONNavigation)
                .HasForeignKey(d => d.IDTIPOLIQUIDACION)
                .HasConstraintName("PERIODOSSILTRA_FK_02");

            entity.HasOne(d => d.IDTIPOPERIODOTRAMONavigation).WithMany(p => p.PERIODOSSILTRAIDTIPOPERIODOTRAMONavigation)
                .HasForeignKey(d => d.IDTIPOPERIODOTRAMO)
                .HasConstraintName("PERIODOSSILTRA_FK_03");
        });

        modelBuilder.Entity<PERMISOS>(entity =>
        {
            entity.HasKey(e => e.IDPERMISO).HasName("PRIMARY_34");

            entity.Property(e => e.IDPERMISO).HasPrecision(10);
            entity.Property(e => e.CODIGOPERMISO)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
        });

        modelBuilder.Entity<PERMISOSSINRETRIBUCION>(entity =>
        {
            entity.HasKey(e => e.IDPERMISOSDERETRIBUCION).HasName("PRIMARY_42");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONAL_FK_IDX_1");

            entity.HasIndex(e => e.IDNOMINAAPLICACION, "PERMISOSSINRETRIBUCION_NOMINAS");

            entity.HasIndex(e => e.IDNOMINAORIGENDEDATOS, "PERMISOSSINRETRIBUCION_NOMIN_1");

            entity.Property(e => e.IDPERMISOSDERETRIBUCION).HasPrecision(10);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.IDNOMINAAPLICACION).HasPrecision(10);
            entity.Property(e => e.IDNOMINAORIGENDEDATOS).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NOMINANORMAL).HasPrecision(1);
            entity.Property(e => e.NOMINASEGURIDADSOCIAL).HasPrecision(1);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(100)
                .IsUnicode(false);

            entity.HasOne(d => d.IDNOMINAAPLICACIONNavigation).WithMany(p => p.PERMISOSSINRETRIBUCIONIDNOMINAAPLICACIONNavigation)
                .HasForeignKey(d => d.IDNOMINAAPLICACION)
                .HasConstraintName("PERMISOSSINRETRIBUCION_FK_01");

            entity.HasOne(d => d.IDNOMINAORIGENDEDATOSNavigation).WithMany(p => p.PERMISOSSINRETRIBUCIONIDNOMINAORIGENDEDATOSNavigation)
                .HasForeignKey(d => d.IDNOMINAORIGENDEDATOS)
                .HasConstraintName("PERMISOSSINRETRIBUCION_FK_02");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.PERMISOSSINRETRIBUCION)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PERMISOSSINRETRIBUCION_FK_03");
        });

        modelBuilder.Entity<PERSONAS>(entity =>
        {
            entity.HasKey(e => e.IDPERSONA).HasName("PRIMARY_89");

            entity.HasIndex(e => e.IDSEXO, "PERSONAS_05_SEXO_IDX");

            entity.HasIndex(e => e.IDDEPARTAMENTO, "PERSONAS_06_DEPARTAMENTO_IDX");

            entity.HasIndex(e => e.CODIGO, "PERSONAS_CODIGO");

            entity.HasIndex(e => e.IDCONTRATO, "PERSONAS_CONTRATOS_IDX");

            entity.HasIndex(e => e.IDCUENTACOTIZACIONPATRONAL, "PERSONAS_CUENTACOTIZACIONPATRO");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "PERSONAS_DISCAPACIDAD_IDX");

            entity.HasIndex(e => e.IDCAUSADEBAJA, "PERSONAS_ENUMERACIONESCAUSABAJ");

            entity.HasIndex(e => e.IDOCUPACION, "PERSONAS_ENUMERACIONOCUPACION_");

            entity.HasIndex(e => e.IDFICHEROFOTO, "PERSONAS_FICHEROS_IDX");

            entity.HasIndex(e => e.CODIGOMUNICIPIO, "PERSONAS_MUNICIPIOS_IDX");

            entity.HasIndex(e => e.IDMUTUA, "PERSONAS_MUTUA_IDX");

            entity.HasIndex(e => e.IDPUESTOTRABAJOOPOSICION, "PERSONAS_PUESTOTRABAJOOPOSICIO");

            entity.HasIndex(e => e.IDSITUACIONFAMILIAR, "PERSONAS_SITUACIONFAMILIAR_IDX");

            entity.HasIndex(e => e.IDSITUACIONLABORAL, "PERSONAS_SITUACIONLABORAL_IDX");

            entity.HasIndex(e => e.IDTIPO, "PERSONAS_TIPOPERSONAL_IDX");

            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.ADMINISTRADORCONTROLHORARIO).HasPrecision(1);
            entity.Property(e => e.ADMINISTRADORTOTAL).HasPrecision(1);
            entity.Property(e => e.ADMINISTRARPTYREGISTRO).HasPrecision(1);
            entity.Property(e => e.APELLIDOS)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.AÑOCAMBIORESIDENCIA).HasPrecision(10);
            entity.Property(e => e.BASEANTERIORALABAJA)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASEMESANTERIOR)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASESSJUN2010)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CARGOULTIMOPUESTO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.CEUTAMELILLA).HasPrecision(1);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOANTIGUODIPUTADO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOMUNICIPIO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOMUNICIPIONOTIFICACION)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPOSTAL)
                .HasMaxLength(8)
                .IsUnicode(false);
            entity.Property(e => e.CODIGOPOSTALNOTIFICACIONES)
                .HasMaxLength(8)
                .IsUnicode(false);
            entity.Property(e => e.COMPLEMENTOCARRERAA1)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.COMPLEMENTOCARRERAA2)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.COMPLEMENTOCARRERAB)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.COMPLEMENTOCARRERAC1)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.COMPLEMENTOCARRERAC2)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.COMPLEMENTOCARRERAE)
                .HasPrecision(10)
                .HasDefaultValueSql("'0'");
            entity.Property(e => e.CORREOELECTRONICO)
                .HasMaxLength(60)
                .IsUnicode(false);
            entity.Property(e => e.CORREONOTIFICACIONES)
                .HasMaxLength(60)
                .IsUnicode(false);
            entity.Property(e => e.CUENTABANCARIA)
                .HasMaxLength(24)
                .IsUnicode(false);
            entity.Property(e => e.CUENTABANCARIADIPUTADO)
                .HasMaxLength(24)
                .IsUnicode(false);
            entity.Property(e => e.CUENTABANCARIAPARTIDO)
                .HasMaxLength(24)
                .IsUnicode(false);
            entity.Property(e => e.CUOTASINDICAL1).HasColumnType("FLOAT");
            entity.Property(e => e.CUOTASINDICAL2).HasColumnType("FLOAT");
            entity.Property(e => e.DELEGADO).HasPrecision(1);
            entity.Property(e => e.DELEGADOINFORMES).HasPrecision(1);
            entity.Property(e => e.DIASENFERMEDAD60)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DIASENFERMEDAD75)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DOMICILIO)
                .HasMaxLength(60)
                .IsUnicode(false);
            entity.Property(e => e.DOMICILIONOTIFICACIONES)
                .HasMaxLength(60)
                .IsUnicode(false);
            entity.Property(e => e.EMPRESA)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.ESTANCIAYMANUTENCION).HasColumnType("FLOAT");
            entity.Property(e => e.EXTERNO)
                .HasPrecision(10)
                .HasDefaultValueSql("0 ");
            entity.Property(e => e.FECHAALTA).HasColumnType("DATE");
            entity.Property(e => e.FECHAALTACONTROLHORARIO).HasColumnType("DATE");
            entity.Property(e => e.FECHAALTADIETAS).HasColumnType("DATE");
            entity.Property(e => e.FECHAALTAPAR).HasColumnType("DATE");
            entity.Property(e => e.FECHABAJA).HasColumnType("DATE");
            entity.Property(e => e.FECHABAJADIETAS).HasColumnType("DATE");
            entity.Property(e => e.FECHABAJAPAR).HasColumnType("DATE");
            entity.Property(e => e.FECHABAJASEGURIDADSOCIAL).HasColumnType("DATE");
            entity.Property(e => e.FECHACONSOLIDACIONGRADO).HasColumnType("DATE");
            entity.Property(e => e.FECHACUMPLIMIENTOCARRERA)
                .HasDefaultValueSql("NULL")
                .HasColumnType("DATE");
            entity.Property(e => e.FECHACUMPLIMIENTOPROXTRIENIO).HasColumnType("DATE");
            entity.Property(e => e.FECHACUMPLIMIENTOTRIENIO).HasColumnType("DATE");
            entity.Property(e => e.FECHANACIMIENTO).HasColumnType("DATE");
            entity.Property(e => e.FECHAPOSIBLEJUBILACION).HasColumnType("DATE");
            entity.Property(e => e.FECHATARJETA).HasColumnType("DATE");
            entity.Property(e => e.FECHATITULACION).HasColumnType("DATE");
            entity.Property(e => e.FORMACIONACADEMICA)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IDADSCRIPCIONRPT).HasPrecision(10);
            entity.Property(e => e.IDCAUSAALTAPAR).HasPrecision(10);
            entity.Property(e => e.IDCAUSABAJAPAR).HasPrecision(10);
            entity.Property(e => e.IDCAUSADEBAJA).HasPrecision(10);
            entity.Property(e => e.IDCONTRATO).HasPrecision(10);
            entity.Property(e => e.IDCUENTACOTIZACIONPATRONAL).HasPrecision(10);
            entity.Property(e => e.IDCUERPORPT).HasPrecision(10);
            entity.Property(e => e.IDDEPARTAMENTO).HasPrecision(10);
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDESCALA).HasPrecision(10);
            entity.Property(e => e.IDESPECIALIDAD).HasPrecision(10);
            entity.Property(e => e.IDFICHEROFOTO).HasPrecision(10);
            entity.Property(e => e.IDGRADOPERSONALCONSOLIDADO).HasPrecision(10);
            entity.Property(e => e.IDGRUPOFUNCIONARIO).HasPrecision(10);
            entity.Property(e => e.IDMUTUA).HasPrecision(10);
            entity.Property(e => e.IDMUTUA2).HasPrecision(10);
            entity.Property(e => e.IDNIVELRPT).HasPrecision(10);
            entity.Property(e => e.IDOCUPACION).HasPrecision(10);
            entity.Property(e => e.IDPUESTOTRABAJOOPOSICION).HasPrecision(10);
            entity.Property(e => e.IDSEXO).HasPrecision(10);
            entity.Property(e => e.IDSINDICATO1).HasPrecision(10);
            entity.Property(e => e.IDSINDICATO2).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONACTUALIRPF).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONADMINISTRATIVARPT).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONENRPT).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONFAMILIAR).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONLABORAL).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.IDTIPOEMPLEADORPT).HasPrecision(10);
            entity.Property(e => e.IMPORTEDECUCCIONGRUPO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEENFERMEDAD60)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEENFERMEDAD75)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEPARTIDO).HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTETRIENIOADMINISTRACION)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTETRIENIOADMINISTRACIONA).HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEULTIMANOMINA).HasColumnType("FLOAT");
            entity.Property(e => e.IMPTRIADMPAGAEXTRA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPTRIADMPAGAEXTRAA).HasColumnType("FLOAT");
            entity.Property(e => e.INGRADMNAUTO).HasColumnType("DATE");
            entity.Property(e => e.INGRESOADMINISTRACIONESTADO).HasColumnType("DATE");
            entity.Property(e => e.INGRESOADMINISTRACIONLOCAL).HasColumnType("DATE");
            entity.Property(e => e.KILOMETROS).HasColumnType("FLOAT");
            entity.Property(e => e.LUGARNACIMIENTO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.MAXHENEGATIVASPERMITIDAS_D)
                .HasDefaultValueSql("0 ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MOVILIDADREDUCIDA).HasPrecision(1);
            entity.Property(e => e.NIF)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.NIVEL)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.NOCOTIZADESEMPLEO).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.NRP)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.NRP_OLD)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.NUMEROAFILIACIONMUTUA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.NUMEROAFILIACIONMUTUA2)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.NUMEROPLURIEMPLEO)
                .HasMaxLength(30)
                .IsUnicode(false);
            entity.Property(e => e.NUMEROQUINQUENIO)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.NUMEROREINTENTOSFALLIDOS).HasPrecision(10);
            entity.Property(e => e.NUMEROSEXENIO)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.NUMEROTARJETA).HasColumnType("FLOAT");
            entity.Property(e => e.PEAJESAUTOPISTA).HasColumnType("FLOAT");
            entity.Property(e => e.PENSIONISTAS).HasPrecision(1);
            entity.Property(e => e.PERMITESALDONEGATIVOHE).HasPrecision(1);
            entity.Property(e => e.PERTENECEAMESA).HasPrecision(1);
            entity.Property(e => e.PLURIEMPLEO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PREMIOJUBILACIONMENSUAL)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PROFESION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.PUESTOTRABAJOENTARJETA)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.QUINQUENIO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.QUINQUENIOEXTRA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.RENUNCIACESANTIA).HasPrecision(1);
            entity.Property(e => e.RENUNCIADIETA).HasPrecision(1);
            entity.Property(e => e.RENUNCIAKMS).HasPrecision(1);
            entity.Property(e => e.RETENCIONAAPLICAR).HasColumnType("FLOAT");
            entity.Property(e => e.SEGUROACCIDENTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SEXENIOS)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUPERVISORDEPARTAMENTO).HasPrecision(1);
            entity.Property(e => e.SUPERVISORDETODO).HasPrecision(1);
            entity.Property(e => e.TELEFONO1)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.TELEFONO1NOTIFICACIONES)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.TELEFONO2)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.TELEFONO2NOTIFICACIONES)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.TITULACIONOFICIAL)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.TRATAMIENTO)
                .HasMaxLength(45)
                .IsUnicode(false)
                .HasDefaultValueSql("' '");
            entity.Property(e => e.TRIENIOSADMINISTRACIONA1)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSADMINISTRACIONA1A).HasPrecision(10);
            entity.Property(e => e.TRIENIOSADMINISTRACIONA2)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSADMINISTRACIONA2A).HasPrecision(10);
            entity.Property(e => e.TRIENIOSADMINISTRACIONB)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSADMINISTRACIONBA).HasPrecision(10);
            entity.Property(e => e.TRIENIOSADMINISTRACIONC1)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSADMINISTRACIONC1A).HasPrecision(10);
            entity.Property(e => e.TRIENIOSADMINISTRACIONC2)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSADMINISTRACIONC2A).HasPrecision(10);
            entity.Property(e => e.TRIENIOSADMINISTRACIONE)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSADMINISTRACIONEA).HasPrecision(10);
            entity.Property(e => e.TRIENIOSPARLAMENTOA1)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSPARLAMENTOA2)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSPARLAMENTOB)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSPARLAMENTOC1)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSPARLAMENTOC2)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.TRIENIOSPARLAMENTOE)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");

            entity.HasOne(d => d.CODIGOMUNICIPIONavigation).WithMany(p => p.PERSONASCODIGOMUNICIPIONavigation)
                .HasForeignKey(d => d.CODIGOMUNICIPIO)
                .HasConstraintName("PERSONAS_FK_14");

            entity.HasOne(d => d.CODIGOMUNICIPIONOTIFICACIONNavigation).WithMany(p => p.PERSONASCODIGOMUNICIPIONOTIFICACIONNavigation)
                .HasForeignKey(d => d.CODIGOMUNICIPIONOTIFICACION)
                .HasConstraintName("PERSONAS_FK_17");

            entity.HasOne(d => d.IDADSCRIPCIONRPTNavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDADSCRIPCIONRPT)
                .HasConstraintName("PERSONAS_FK_26");

            entity.HasOne(d => d.IDCAUSAALTAPARNavigation).WithMany(p => p.PERSONASIDCAUSAALTAPARNavigation)
                .HasForeignKey(d => d.IDCAUSAALTAPAR)
                .HasConstraintName("PERSONAS_FK_21");

            entity.HasOne(d => d.IDCAUSABAJAPARNavigation).WithMany(p => p.PERSONASIDCAUSABAJAPARNavigation)
                .HasForeignKey(d => d.IDCAUSABAJAPAR)
                .HasConstraintName("PERSONAS_FK_22");

            entity.HasOne(d => d.IDCAUSADEBAJANavigation).WithMany(p => p.PERSONASIDCAUSADEBAJANavigation)
                .HasForeignKey(d => d.IDCAUSADEBAJA)
                .HasConstraintName("PERSONAS_FK_09");

            entity.HasOne(d => d.IDCONTRATONavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDCONTRATO)
                .HasConstraintName("PERSONAS_FK_11");

            entity.HasOne(d => d.IDCUENTACOTIZACIONPATRONALNavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDCUENTACOTIZACIONPATRONAL)
                .HasConstraintName("PERSONAS_FK_12");

            entity.HasOne(d => d.IDCUERPORPTNavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDCUERPORPT)
                .HasConstraintName("PERSONAS_FK_24");

            entity.HasOne(d => d.IDDEPARTAMENTONavigation).WithMany(p => p.PERSONASIDDEPARTAMENTONavigation)
                .HasForeignKey(d => d.IDDEPARTAMENTO)
                .HasConstraintName("PERSONAS_FK_08");

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.PERSONASIDDISCAPACIDADNavigation)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .HasConstraintName("PERSONAS_FK_06");

            entity.HasOne(d => d.IDESCALANavigation).WithMany(p => p.PERSONASIDESCALANavigation)
                .HasForeignKey(d => d.IDESCALA)
                .HasConstraintName("PERSONAS_FK_27");

            entity.HasOne(d => d.IDESPECIALIDADNavigation).WithMany(p => p.PERSONASIDESPECIALIDADNavigation)
                .HasForeignKey(d => d.IDESPECIALIDAD)
                .HasConstraintName("PERSONAS_FK_28");

            entity.HasOne(d => d.IDFICHEROFOTONavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDFICHEROFOTO)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("PERSONAS_FK_13");

            entity.HasOne(d => d.IDGRADOPERSONALCONSOLIDADONavigation).WithMany(p => p.PERSONASIDGRADOPERSONALCONSOLIDADONavigation)
                .HasForeignKey(d => d.IDGRADOPERSONALCONSOLIDADO)
                .HasConstraintName("PERSONAS_FK_23");

            entity.HasOne(d => d.IDGRUPOFUNCIONARIONavigation).WithMany(p => p.PERSONASIDGRUPOFUNCIONARIONavigation)
                .HasForeignKey(d => d.IDGRUPOFUNCIONARIO)
                .HasConstraintName("PERSONAS_FK_16");

            entity.HasOne(d => d.IDMUTUANavigation).WithMany(p => p.PERSONASIDMUTUANavigation)
                .HasForeignKey(d => d.IDMUTUA)
                .HasConstraintName("PERSONAS_FK_02");

            entity.HasOne(d => d.IDMUTUA2Navigation).WithMany(p => p.PERSONASIDMUTUA2Navigation)
                .HasForeignKey(d => d.IDMUTUA2)
                .HasConstraintName("PERSONAS_FK1");

            entity.HasOne(d => d.IDNIVELRPTNavigation).WithMany(p => p.PERSONASIDNIVELRPTNavigation)
                .HasForeignKey(d => d.IDNIVELRPT)
                .HasConstraintName("PERSONAS_FK_25");

            entity.HasOne(d => d.IDOCUPACIONNavigation).WithMany(p => p.PERSONASIDOCUPACIONNavigation)
                .HasForeignKey(d => d.IDOCUPACION)
                .HasConstraintName("PERSONAS_FK_10");

            entity.HasOne(d => d.IDPUESTOTRABAJOOPOSICIONNavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDPUESTOTRABAJOOPOSICION)
                .HasConstraintName("PERSONAS_FK_15");

            entity.HasOne(d => d.IDSEXONavigation).WithMany(p => p.PERSONASIDSEXONavigation)
                .HasForeignKey(d => d.IDSEXO)
                .HasConstraintName("PERSONAS_FK_07");

            entity.HasOne(d => d.IDSITUACIONACTUALIRPFNavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDSITUACIONACTUALIRPF)
                .HasConstraintName("PERSONAS_FK_01");

            entity.HasOne(d => d.IDSITUACIONADMINISTRATIVARPTNavigation).WithMany(p => p.PERSONAS)
                .HasForeignKey(d => d.IDSITUACIONADMINISTRATIVARPT)
                .HasConstraintName("PERSONAS_FK2");

            entity.HasOne(d => d.IDSITUACIONENRPTNavigation).WithMany(p => p.PERSONASIDSITUACIONENRPTNavigation)
                .HasForeignKey(d => d.IDSITUACIONENRPT)
                .HasConstraintName("PERSONAS_FK_18");

            entity.HasOne(d => d.IDSITUACIONFAMILIARNavigation).WithMany(p => p.PERSONASIDSITUACIONFAMILIARNavigation)
                .HasForeignKey(d => d.IDSITUACIONFAMILIAR)
                .HasConstraintName("PERSONAS_FK_03");

            entity.HasOne(d => d.IDSITUACIONLABORALNavigation).WithMany(p => p.PERSONASIDSITUACIONLABORALNavigation)
                .HasForeignKey(d => d.IDSITUACIONLABORAL)
                .HasConstraintName("PERSONAS_FK_04");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.PERSONASIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("PERSONAS_FK_05");

            entity.HasOne(d => d.IDTIPOEMPLEADORPTNavigation).WithMany(p => p.PERSONASIDTIPOEMPLEADORPTNavigation)
                .HasForeignKey(d => d.IDTIPOEMPLEADORPT)
                .HasConstraintName("PERSONAS_FK_19");
        });

        modelBuilder.Entity<PERSONASCURSOS>(entity =>
        {
            entity.HasKey(e => e.IDPERSONACURSO).HasName("PERSONASCURSOS_PK");

            entity.Property(e => e.IDPERSONACURSO).HasPrecision(10);
            entity.Property(e => e.ASISTENCIA)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOTA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
        });

        modelBuilder.Entity<PERSONASLEGISLATURAS>(entity =>
        {
            entity.HasKey(e => e.IDPERSONASLEGISLATURA).HasName("PRIMARY_13");

            entity.HasIndex(e => e.IDLEGISLATURA, "PERSONASLEGISLATURAS_LEGISLATU");

            entity.HasIndex(e => e.IDPARTIDOPOLITICO, "PERSONASLEGISLATURAS_PARTIDOSP");

            entity.HasIndex(e => e.IDPERSONA, "PERSONASLEGISLATURAS_PERSONAS_");

            entity.Property(e => e.IDPERSONASLEGISLATURA).HasPrecision(10);
            entity.Property(e => e.CANTIDADAPARTIDO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.CANTIDADAPERSONA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.CUENTABANCARIA)
                .HasMaxLength(24)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDLEGISLATURA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPARTIDOPOLITICO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.PORCENTAJEAPARTIDO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJEAPERSONA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDLEGISLATURANavigation).WithMany(p => p.PERSONASLEGISLATURAS)
                .HasForeignKey(d => d.IDLEGISLATURA)
                .HasConstraintName("PERSONASLEGISLATURAS_FK_01");

            entity.HasOne(d => d.IDPARTIDOPOLITICONavigation).WithMany(p => p.PERSONASLEGISLATURAS)
                .HasForeignKey(d => d.IDPARTIDOPOLITICO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PERSONASLEGISLATURAS_FK_02");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.PERSONASLEGISLATURAS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PERSONASLEGISLATURAS_FK_03");
        });

        modelBuilder.Entity<PICADAS>(entity =>
        {
            entity.HasKey(e => e.IDPICADA).HasName("PRIMARY_52");

            entity.HasIndex(e => e.HORALECTURA, "HORALECTURA");

            entity.HasIndex(e => new { e.IDRELOJ, e.IDPICADAENRELOJ }, "PICADASRELOJ");

            entity.HasIndex(e => e.IDINCIDENCIA, "PICADAS_INCIDENCIAS_IDX");

            entity.HasIndex(e => e.IDPERSONA, "PICADAS_PERSONAS_IDX");

            entity.HasIndex(e => e.IDTARJETA, "PICADAS_TARJETAS_IDX");

            entity.Property(e => e.IDPICADA).HasPrecision(10);
            entity.Property(e => e.DESTELETRABAJO)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.EXPEDIENTEECO)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.HORA).HasColumnType("DATE");
            entity.Property(e => e.HORALECTURA).HasColumnType("DATE");
            entity.Property(e => e.IDINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDPICADAENRELOJ).HasPrecision(10);
            entity.Property(e => e.IDRELOJ).HasPrecision(10);
            entity.Property(e => e.IDTARJETA).HasPrecision(10);
            entity.Property(e => e.MENSAJEERROR)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.PICADACONERROR).HasPrecision(1);
            entity.Property(e => e.PICADASINEFECTO).HasPrecision(1);

            entity.HasOne(d => d.IDINCIDENCIANavigation).WithMany(p => p.PICADAS)
                .HasForeignKey(d => d.IDINCIDENCIA)
                .HasConstraintName("PICADAS_FK_01");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.PICADAS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PICADAS_FK_02");

            entity.HasOne(d => d.IDRELOJNavigation).WithMany(p => p.PICADAS)
                .HasForeignKey(d => d.IDRELOJ)
                .HasConstraintName("PICADAS_FK_03");

            entity.HasOne(d => d.IDTARJETANavigation).WithMany(p => p.PICADAS)
                .HasForeignKey(d => d.IDTARJETA)
                .HasConstraintName("PICADAS_FK_04");
        });

        modelBuilder.Entity<PLANTILLAS>(entity =>
        {
            entity.HasKey(e => e.IDPLANTILLA).HasName("PRIMARY_78");

            entity.HasIndex(e => e.CODIGO, "CODIGO_UNIQUE_4").IsUnique();

            entity.HasIndex(e => e.DESCRIPCION, "DESCRIPCIONPLANTILLA_UNIQUE").IsUnique();

            entity.HasIndex(e => e.IDFICHERO, "PLANTILLAS_FICHEROS_IDX");

            entity.HasIndex(e => e.IDGRUPO, "PLANTILLAS_GRUPO_IDX");

            entity.HasIndex(e => e.IDPERMISO, "PLANTILLAS_PERMISOS_IDX");

            entity.HasIndex(e => e.IDTIPO, "PLANTILLAS_TIPO_IDX");

            entity.Property(e => e.IDPLANTILLA).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(80)
                .IsUnicode(false);
            entity.Property(e => e.IDFICHERO).HasPrecision(10);
            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.IDPERMISO).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.OCULTA).HasPrecision(1);
            entity.Property(e => e.TIPOLISTADO).HasPrecision(1);

            entity.HasOne(d => d.IDFICHERONavigation).WithMany(p => p.PLANTILLAS)
                .HasForeignKey(d => d.IDFICHERO)
                .HasConstraintName("PLANTILLAS_FK_01");

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.PLANTILLASIDGRUPONavigation)
                .HasForeignKey(d => d.IDGRUPO)
                .HasConstraintName("PLANTILLAS_FK_02");

            entity.HasOne(d => d.IDPERMISONavigation).WithMany(p => p.PLANTILLAS)
                .HasForeignKey(d => d.IDPERMISO)
                .HasConstraintName("PLANTILLAS_FK_03");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.PLANTILLASIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("PLANTILLAS_FK_04");
        });

        modelBuilder.Entity<POSIBLESESTADOSASISTENCIA>(entity =>
        {
            entity.HasKey(e => e.IDPOSIBLEESTADOASISTENCIA).HasName("POSIBLESESTADOSASISTENCIA_PK");

            entity.Property(e => e.IDPOSIBLEESTADOASISTENCIA).HasPrecision(10);
            entity.Property(e => e.IDESTADOSIGUIENTE).HasPrecision(10);
            entity.Property(e => e.IDTIPOESTADOASISTENCIA).HasPrecision(10);

            entity.HasOne(d => d.IDESTADOSIGUIENTENavigation).WithMany(p => p.POSIBLESESTADOSASISTENCIAIDESTADOSIGUIENTENavigation)
                .HasForeignKey(d => d.IDESTADOSIGUIENTE)
                .HasConstraintName("POSIBLESESTADOSASISTENCIA_FK2");

            entity.HasOne(d => d.IDTIPOESTADOASISTENCIANavigation).WithMany(p => p.POSIBLESESTADOSASISTENCIAIDTIPOESTADOASISTENCIANavigation)
                .HasForeignKey(d => d.IDTIPOESTADOASISTENCIA)
                .HasConstraintName("POSIBLESESTADOSASISTENCIA_FK1");
        });

        modelBuilder.Entity<PRESTAMOS>(entity =>
        {
            entity.HasKey(e => e.IDPRESTAMO).HasName("PRIMARY_90");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONALFFFKKK_IDX");

            entity.HasIndex(e => e.IDNOMINAINICIO, "PRESTAMOS_NOMINAINICIO_IDX");

            entity.Property(e => e.IDPRESTAMO).HasPrecision(10);
            entity.Property(e => e.AMORTIZACION)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.IDNOMINAINICIO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MESES)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.SALDO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDNOMINAINICIONavigation).WithMany(p => p.PRESTAMOS)
                .HasForeignKey(d => d.IDNOMINAINICIO)
                .HasConstraintName("PRESTAMOS_FK_01");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.PRESTAMOS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PRESTAMOS_FK_02");
        });

        modelBuilder.Entity<PROCESOS>(entity =>
        {
            entity.HasKey(e => e.IDPROCESOS).HasName("PROCESOS_PK");

            entity.Property(e => e.IDPROCESOS).HasPrecision(10);
            entity.Property(e => e.ACCION)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(255)
                .IsUnicode(false);
            entity.Property(e => e.IDFICHERO).HasPrecision(10);
            entity.Property(e => e.IDPERMISO).HasPrecision(10);
            entity.Property(e => e.IDSUBTIPO).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(500)
                .IsUnicode(false);

            entity.HasOne(d => d.IDFICHERONavigation).WithMany(p => p.PROCESOS)
                .HasForeignKey(d => d.IDFICHERO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PROCESOS_FK4");

            entity.HasOne(d => d.IDPERMISONavigation).WithMany(p => p.PROCESOS)
                .HasForeignKey(d => d.IDPERMISO)
                .HasConstraintName("PROCESOS_FK3");

            entity.HasOne(d => d.IDSUBTIPONavigation).WithMany(p => p.PROCESOSIDSUBTIPONavigation)
                .HasForeignKey(d => d.IDSUBTIPO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PROCESOS_FK2");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.PROCESOSIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PROCESOS_FK1");
        });

        modelBuilder.Entity<PRODUCTIVIDAD>(entity =>
        {
            entity.HasKey(e => e.IDPRODUCTIVIDAD).HasName("PRIMARY_79");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONA_IDX_7");

            entity.Property(e => e.IDPRODUCTIVIDAD).HasPrecision(10);
            entity.Property(e => e.AÑO)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IMPORTEMES)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEPAGADO)
                .HasDefaultValueSql("'0'")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTETOTAL)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MES)
                .HasPrecision(10)
                .HasDefaultValueSql("'0' ");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.PRODUCTIVIDAD)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PRODUCTIVIDAD_FK_01");
        });

        modelBuilder.Entity<PROFESORESCURSOS>(entity =>
        {
            entity.HasKey(e => e.IDPROFESOR).HasName("PROFESORESCURSOS_PK");

            entity.Property(e => e.IDPROFESOR).HasPrecision(10);
            entity.Property(e => e.APELLIDOS)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DIASIMPARTICION)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NIF)
                .HasMaxLength(10)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOTA)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
        });

        modelBuilder.Entity<PROVINCIAS>(entity =>
        {
            entity.HasKey(e => e.CODIGOPROVINCIA).HasName("PRIMARY_80");

            entity.Property(e => e.CODIGOPROVINCIA)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(80)
                .IsUnicode(false);
        });

        modelBuilder.Entity<PROVISION>(entity =>
        {
            entity.HasKey(e => e.IDPROVISION).HasName("PROVISION_PK");

            entity.Property(e => e.IDPROVISION).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.PROVISION1)
                .HasMaxLength(10)
                .IsUnicode(false)
                .HasColumnName("PROVISION");
        });

        modelBuilder.Entity<PUESTOS>(entity =>
        {
            entity.HasKey(e => e.IDPUESTO).HasName("PUESTOS_PK");

            entity.Property(e => e.IDPUESTO).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(10)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DOTACION)
                .HasMaxLength(3)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
            entity.Property(e => e.ESTADO)
                .HasMaxLength(2)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
            entity.Property(e => e.IDDOTACION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDOCUPACION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONAL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDRPT)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDRPTDES)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDSERVICIOADSCRITO).HasPrecision(10);
            entity.Property(e => e.IDSUBUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.IDUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.ORDEN)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TITULAR)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDDOTACIONNavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDDOTACION)
                .HasConstraintName("PUESTOS_FK3");

            entity.HasOne(d => d.IDOCUPACIONNavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDOCUPACION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PUESTOS_FK6");

            entity.HasOne(d => d.IDPERSONALNavigation).WithMany(p => p.PUESTOSIDPERSONALNavigation)
                .HasForeignKey(d => d.IDPERSONAL)
                .HasConstraintName("PUESTOS_FK4");

            entity.HasOne(d => d.IDRPTNavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDRPT)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PUESTOS_FK1");

            entity.HasOne(d => d.IDRPTDESNavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDRPTDES)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PUESTOS_FK2");

            entity.HasOne(d => d.IDSERVICIOADSCRITONavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDSERVICIOADSCRITO)
                .HasConstraintName("PUESTOS_FK7");

            entity.HasOne(d => d.IDSUBUNIDADADMINISTRATIVANavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDSUBUNIDADADMINISTRATIVA)
                .HasConstraintName("PUESTOS_FK9");

            entity.HasOne(d => d.IDUNIDADADMINISTRATIVANavigation).WithMany(p => p.PUESTOS)
                .HasForeignKey(d => d.IDUNIDADADMINISTRATIVA)
                .HasConstraintName("PUESTOS_FK8");

            entity.HasOne(d => d.TITULARNavigation).WithMany(p => p.PUESTOSTITULARNavigation)
                .HasForeignKey(d => d.TITULAR)
                .HasConstraintName("PUESTOS_FK5");
        });

        modelBuilder.Entity<PUESTOSTRABAJO>(entity =>
        {
            entity.HasKey(e => e.IDPUESTOSTRABAJO).HasName("PRIMARY_35");

            entity.HasIndex(e => e.IDPERSONA, "PERSONALFK_IDX");

            entity.HasIndex(e => e.IDTIPO, "PUESTOSTRABAJO_IDTIPO_IDX");

            entity.HasIndex(e => e.IDOCUPACION, "PUESTOSTRABAJO_TIPOSOCUPACIONE");

            entity.HasIndex(e => e.IDTIPOPUESTOTRABAJO, "PUESTOSTRABAJO_TIPOSPUESTOSTRA");

            entity.Property(e => e.IDPUESTOSTRABAJO).HasPrecision(10);
            entity.Property(e => e.EPIGRAFE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO).HasColumnType("DATE");
            entity.Property(e => e.GRUPOTARIFA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.IDGRUPOFUNCIONARIO).HasPrecision(10);
            entity.Property(e => e.IDOCUPACION).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.IDTIPOPUESTOTRABAJO).HasPrecision(10);
            entity.Property(e => e.LIQUIDAPAGA).HasPrecision(1);
            entity.Property(e => e.NIVEL)
                .HasMaxLength(45)
                .IsUnicode(false);

            entity.HasOne(d => d.IDGRUPOFUNCIONARIONavigation).WithMany(p => p.PUESTOSTRABAJOIDGRUPOFUNCIONARIONavigation)
                .HasForeignKey(d => d.IDGRUPOFUNCIONARIO)
                .HasConstraintName("PUESTOSTRABAJO_FK_05");

            entity.HasOne(d => d.IDOCUPACIONNavigation).WithMany(p => p.PUESTOSTRABAJO)
                .HasForeignKey(d => d.IDOCUPACION)
                .HasConstraintName("PUESTOSTRABAJO_FK_03");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.PUESTOSTRABAJO)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("PUESTOSTRABAJO_FK_02");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.PUESTOSTRABAJOIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("PUESTOSTRABAJO_FK_01");

            entity.HasOne(d => d.IDTIPOPUESTOTRABAJONavigation).WithMany(p => p.PUESTOSTRABAJO)
                .HasForeignKey(d => d.IDTIPOPUESTOTRABAJO)
                .HasConstraintName("PUESTOSTRABAJO_FK_04");
        });

        modelBuilder.Entity<REDUCCIONDEJORNADA>(entity =>
        {
            entity.HasKey(e => e.IDREDUCCIONDEJORNADA).HasName("PRIMARY_53");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONAL_F_K_IDX");

            entity.Property(e => e.IDREDUCCIONDEJORNADA).HasPrecision(10);
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.PORCENTAJEDEREDUCCION)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'100' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.REDUCCIONDEJORNADA)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("REDUCCIONDEJORNADA_FK_01");
        });

        modelBuilder.Entity<REGISTRODEACTIVIDADREST>(entity =>
        {
            entity.HasKey(e => e.IDREGISTROACTIVIDAD).HasName("REGISTRODEACTIVIDADREST_PK");

            entity.Property(e => e.IDREGISTROACTIVIDAD)
                .ValueGeneratedOnAdd()
                .HasColumnType("NUMBER");
            entity.Property(e => e.ERRORES)
                .HasMaxLength(2000)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAHORA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.OPERACIONINVOCADA)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.PARAMETROSCONSULTA)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.RESPUESTA)
                .ValueGeneratedOnAdd()
                .HasColumnType("CLOB");
            entity.Property(e => e.USUARIO)
                .HasMaxLength(50)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<RELOJES>(entity =>
        {
            entity.HasKey(e => e.IDRELOJ).HasName("PRIMARY_36");

            entity.Property(e => e.IDRELOJ).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.CONTRASENNA)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IP)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.NOMBREBD)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.PUERTO).HasPrecision(10);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(100)
                .IsUnicode(false);
        });

        modelBuilder.Entity<RETENCIONJUDICIAL>(entity =>
        {
            entity.HasKey(e => e.IDRETENCIONJUDICIAL).HasName("PRIMARY_29");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONALFFKK_IDX");

            entity.Property(e => e.IDRETENCIONJUDICIAL).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IBAN)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPLANTILLA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.JUZGADO)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.REFERENCIAFICHERO)
                .HasMaxLength(250)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.SALDOINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.SALDORESTANTE)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.RETENCIONJUDICIAL)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RETENCIONJUDICIAL_FK_01");

            entity.HasOne(d => d.IDPLANTILLANavigation).WithMany(p => p.RETENCIONJUDICIAL)
                .HasForeignKey(d => d.IDPLANTILLA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RETENCIONJUDICIAL_FK_02");
        });

        modelBuilder.Entity<RETRIBUCIONBASICA>(entity =>
        {
            entity.HasKey(e => e.IDRETRIBUCION).HasName("RETRIBUCIONBASICA_PK");

            entity.Property(e => e.IDRETRIBUCION).HasPrecision(10);
            entity.Property(e => e.COMCARRA1T1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1T2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1T3)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1T4)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1T5)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2T1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2T2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2T3)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2T4)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2T5)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBT1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBT2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBT3)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBT4)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBT5)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1T1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1T2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1T3)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1T4)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1T5)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2T1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2T2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2T3)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2T4)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2T5)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRET1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRET2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRET3)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRET4)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRET5)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDRPT)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.SUELDOA1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOA1X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOA2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOA2X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOB)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOBX)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC1X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC2X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOE)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOEX)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA1X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA2X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMB)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMBX)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC1X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC2X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADME)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMEX)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMA1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMA1X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMA2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMA2X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMB)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMBX)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMC1)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMC1X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMC2)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMC2X)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAME)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRICAMEX)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDRPTNavigation).WithMany(p => p.RETRIBUCIONBASICA)
                .HasForeignKey(d => d.IDRPT)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RETRIBUCIONBASICA_FK1");
        });

        modelBuilder.Entity<ROLESDEPARTAMENTOSCH>(entity =>
        {
            entity.HasKey(e => e.IDROL).HasName("ROLESDEPARTAMENTOSCH_PK");

            entity.Property(e => e.IDROL).HasPrecision(10);
            entity.Property(e => e.IDDEPARTAMENTOCH)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDTIPOROL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDDEPARTAMENTOCHNavigation).WithMany(p => p.ROLESDEPARTAMENTOSCH)
                .HasForeignKey(d => d.IDDEPARTAMENTOCH)
                .HasConstraintName("ROLESDEPARTAMENTOSCH_FK1");

            entity.HasOne(d => d.IDTIPOROLNavigation).WithMany(p => p.ROLESDEPARTAMENTOSCH)
                .HasForeignKey(d => d.IDTIPOROL)
                .HasConstraintName("ROLESDEPARTAMENTOSCH_FK2");
        });

        modelBuilder.Entity<RPT>(entity =>
        {
            entity.HasKey(e => e.IDRPT).HasName("RPT_PK");

            entity.Property(e => e.IDRPT).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.EJERCICIO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.F_PARLAMENTO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.F_PLENO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDSITUACION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOTAS)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDSITUACIONNavigation).WithMany(p => p.RPT)
                .HasForeignKey(d => d.IDSITUACION)
                .HasConstraintName("RPT_FK1");
        });

        modelBuilder.Entity<RPT_DESCRIP>(entity =>
        {
            entity.HasKey(e => e.IDRPTDES).HasName("RPT_DESCRIP_PK");

            entity.Property(e => e.IDRPTDES).HasPrecision(10);
            entity.Property(e => e.ADSCRIPCION).HasPrecision(10);
            entity.Property(e => e.CARACTERISTICAS)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(10)
                .IsUnicode(false);
            entity.Property(e => e.CUERPO1).HasPrecision(10);
            entity.Property(e => e.CUERPO2).HasPrecision(10);
            entity.Property(e => e.DENOMINACION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DEPARTAMENTO)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.ESPECIFICO).HasColumnType("FLOAT");
            entity.Property(e => e.EXPERIENCIA)
                .HasMaxLength(2)
                .IsUnicode(false)
                .IsFixedLength();
            entity.Property(e => e.GRUPO1).HasPrecision(10);
            entity.Property(e => e.GRUPO2).HasPrecision(10);
            entity.Property(e => e.GRUPOC)
                .HasMaxLength(4)
                .IsUnicode(false);
            entity.Property(e => e.IDDEPARTAMENTO).HasPrecision(10);
            entity.Property(e => e.IDNIVEL_RPT).HasPrecision(10);
            entity.Property(e => e.IDRPT).HasPrecision(10);
            entity.Property(e => e.IDSUBUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.IDTIPOVIRTUAL).HasPrecision(10);
            entity.Property(e => e.IDUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.ORDEN).HasPrecision(10);
            entity.Property(e => e.PLAZAS).HasPrecision(10);
            entity.Property(e => e.PROVISION).HasPrecision(10);
            entity.Property(e => e.REQUISITOS)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.TITULO_ESPECIF)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.VIRTUAL).HasPrecision(1);
            entity.Property(e => e.VIRTUALAC).HasPrecision(1);
            entity.Property(e => e.VIRTUALAC2).HasPrecision(1);
            entity.Property(e => e.VIRTUALOTRO).HasPrecision(1);

            entity.HasOne(d => d.ADSCRIPCIONNavigation).WithMany(p => p.RPT_DESCRIP)
                .HasForeignKey(d => d.ADSCRIPCION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK_2");

            entity.HasOne(d => d.CUERPO1Navigation).WithMany(p => p.RPT_DESCRIPCUERPO1Navigation)
                .HasForeignKey(d => d.CUERPO1)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK_4");

            entity.HasOne(d => d.CUERPO2Navigation).WithMany(p => p.RPT_DESCRIPCUERPO2Navigation)
                .HasForeignKey(d => d.CUERPO2)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK2");

            entity.HasOne(d => d.GRUPO1Navigation).WithMany(p => p.RPT_DESCRIPGRUPO1Navigation)
                .HasForeignKey(d => d.GRUPO1)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK_3");

            entity.HasOne(d => d.GRUPO2Navigation).WithMany(p => p.RPT_DESCRIPGRUPO2Navigation)
                .HasForeignKey(d => d.GRUPO2)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK1");

            entity.HasOne(d => d.IDDEPARTAMENTONavigation).WithMany(p => p.RPT_DESCRIPIDDEPARTAMENTONavigation)
                .HasForeignKey(d => d.IDDEPARTAMENTO)
                .HasConstraintName("RPT_DESCRIP_FK_10");

            entity.HasOne(d => d.IDNIVEL_RPTNavigation).WithMany(p => p.RPT_DESCRIP)
                .HasForeignKey(d => d.IDNIVEL_RPT)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK_5");

            entity.HasOne(d => d.IDRPTNavigation).WithMany(p => p.RPT_DESCRIP)
                .HasForeignKey(d => d.IDRPT)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK7");

            entity.HasOne(d => d.IDSUBUNIDADADMINISTRATIVANavigation).WithMany(p => p.RPT_DESCRIP)
                .HasForeignKey(d => d.IDSUBUNIDADADMINISTRATIVA)
                .HasConstraintName("RPT_DESCRIP_FK_8");

            entity.HasOne(d => d.IDTIPOVIRTUALNavigation).WithMany(p => p.RPT_DESCRIPIDTIPOVIRTUALNavigation)
                .HasForeignKey(d => d.IDTIPOVIRTUAL)
                .HasConstraintName("RPT_DESCRIP_FK_9");

            entity.HasOne(d => d.IDUNIDADADMINISTRATIVANavigation).WithMany(p => p.RPT_DESCRIP)
                .HasForeignKey(d => d.IDUNIDADADMINISTRATIVA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK_7");

            entity.HasOne(d => d.PROVISIONNavigation).WithMany(p => p.RPT_DESCRIP)
                .HasForeignKey(d => d.PROVISION)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("RPT_DESCRIP_FK_6");
        });

        modelBuilder.Entity<SALAS>(entity =>
        {
            entity.HasKey(e => e.IDSALA).HasName("SALAS_PK");

            entity.Property(e => e.IDSALA).HasPrecision(10);
            entity.Property(e => e.DENOMINACION)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDUBICACION)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NUMEROORDENADORES)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NUMEROPLAZAS)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDUBICACIONNavigation).WithMany(p => p.SALAS)
                .HasForeignKey(d => d.IDUBICACION)
                .HasConstraintName("SALAS_FK1");
        });

        modelBuilder.Entity<SERVICIOS>(entity =>
        {
            entity.HasKey(e => e.IDSERVICIO).HasName("SERVICIOS_PK");

            entity.Property(e => e.IDSERVICIO).HasPrecision(10);
            entity.Property(e => e.ACTIVO)
                .HasPrecision(1)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.ORDEN)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<SESIONES>(entity =>
        {
            entity.HasKey(e => e.IDSESION).HasName("PRIMARY_54");

            entity.HasIndex(e => e.IDTIPO, "SESIONES_TIPO_IDX");

            entity.HasIndex(e => e.IDTURNO, "SESIONES_TURNO_IDX");

            entity.Property(e => e.IDSESION).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.FECHAHORAINICIO).HasColumnType("DATE");
            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.IDTURNO).HasPrecision(10);

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.SESIONESIDTIPONavigation)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("SESIONES_FK_01");

            entity.HasOne(d => d.IDTURNONavigation).WithMany(p => p.SESIONESIDTURNONavigation)
                .HasForeignKey(d => d.IDTURNO)
                .HasConstraintName("SESIONES_FK_02");
        });

        modelBuilder.Entity<SITUACION>(entity =>
        {
            entity.HasKey(e => e.IDSITUACION).HasName("SITUACION_PK");

            entity.Property(e => e.IDSITUACION).HasPrecision(10);
            entity.Property(e => e.ACTIVO_SITUACION).HasPrecision(1);
            entity.Property(e => e.CLAVE_SITUACION)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.LITERAL_SITUACION)
                .HasMaxLength(50)
                .IsUnicode(false);
        });

        modelBuilder.Entity<SITUACIONACTUALIRPF>(entity =>
        {
            entity.HasKey(e => e.IDSITUACIONACTUALIRPF).HasName("PRIMARY_37");

            entity.HasIndex(e => e.ANNO, "ANNO_1");

            entity.HasIndex(e => e.FECHACALCULO, "FECHACALCULO_1");

            entity.HasIndex(e => e.IDDISCAPACIDAD, "SITUACIONACTUALIRPF_DISCAPACID");

            entity.Property(e => e.IDSITUACIONACTUALIRPF).HasPrecision(10);
            entity.Property(e => e.ANNO).HasPrecision(10);
            entity.Property(e => e.ANTREGSEAPLMINORPAGPRESVIV).HasPrecision(1);
            entity.Property(e => e.ANUALPORALIFAVORHIJOS)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASECALCTIPRETDETANTREGULAR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.BASECALCULOTIPORETENCION)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CAUSAREGULARIZACION1).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION10).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION11).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION2).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION3).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION4).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION5).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION6).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION7).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION8).HasPrecision(1);
            entity.Property(e => e.CAUSAREGULARIZACION9).HasPrecision(1);
            entity.Property(e => e.CONSERVATIPO).HasPrecision(1);
            entity.Property(e => e.DATANTERRENDIOBTENCEUOMEL).HasPrecision(1);
            entity.Property(e => e.DEDUCCIONART80BISLIRPF)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHACALCULO).HasColumnType("DATE");
            entity.Property(e => e.GASTOSDEDUCIBLES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDCONTRATOORELACION).HasPrecision(10);
            entity.Property(e => e.IDDISCAPACIDAD).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONFAMILIAR).HasPrecision(10);
            entity.Property(e => e.IDSITUACIONLABORAL).HasPrecision(10);
            entity.Property(e => e.IMPANURETEINGRACUENDETANTREG)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPMINPAGPRESTVIVANTREG)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEANUALRETENCIONES)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MINPAGPRESTVIVHA).HasPrecision(1);
            entity.Property(e => e.MINPERSYFAMCALCRETANTREGU)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MINPERSYFAMCALCRETEN)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.MOVILIDADGEOGRAFICA).HasPrecision(1);
            entity.Property(e => e.NECEAYUDATERCPERSOMOVILRED).HasPrecision(1);
            entity.Property(e => e.NIFCONYUGE)
                .HasMaxLength(20)
                .IsUnicode(false);
            entity.Property(e => e.PENSCOMPENFAVORCONYUGE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PROLONGACTLABORAL).HasPrecision(1);
            entity.Property(e => e.REDUCCIONESPORIRREGULARIDAD182)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.REDUCCIONESPORIRREGULARIDAD183)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.RENDANTFUERONCEUOMEL).HasPrecision(1);
            entity.Property(e => e.RETEINGRACUENTAPRACTANTAREG)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.RETRIANUALCONSICONANTREG)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.RETRIINTEINFER33MIL).HasPrecision(1);
            entity.Property(e => e.RETRIYASATISCONANTERAREGULAR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.RETRTOTALESIMPORTEINTEGRO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TIPODERETENCIONAAPLICAR).HasColumnType("FLOAT");
            entity.Property(e => e.TIPODERETENCIONCALCULADO)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TIPRETENCALCANTREGU)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDCONTRATOORELACIONNavigation).WithMany(p => p.SITUACIONACTUALIRPFIDCONTRATOORELACIONNavigation)
                .HasForeignKey(d => d.IDCONTRATOORELACION)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("SITUACIONACTUALIRPF_FK_03");

            entity.HasOne(d => d.IDDISCAPACIDADNavigation).WithMany(p => p.SITUACIONACTUALIRPFIDDISCAPACIDADNavigation)
                .HasForeignKey(d => d.IDDISCAPACIDAD)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("SITUACIONACTUALIRPF_FK_02");

            entity.HasOne(d => d.IDSITUACIONFAMILIARNavigation).WithMany(p => p.SITUACIONACTUALIRPFIDSITUACIONFAMILIARNavigation)
                .HasForeignKey(d => d.IDSITUACIONFAMILIAR)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("SITUACIONACTUALIRPF_FK_01");

            entity.HasOne(d => d.IDSITUACIONLABORALNavigation).WithMany(p => p.SITUACIONACTUALIRPFIDSITUACIONLABORALNavigation)
                .HasForeignKey(d => d.IDSITUACIONLABORAL)
                .OnDelete(DeleteBehavior.SetNull)
                .HasConstraintName("SITUACIONACTUALIRPF_FK_04");
        });

        modelBuilder.Entity<SUBGRUPOSINCIDENCIAS>(entity =>
        {
            entity.HasKey(e => e.IDSUBGRUPOINCIDENCIA).HasName("SUBGRUPOSINCIDENCIAS_PK");

            entity.Property(e => e.IDSUBGRUPOINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.AYUDAWEB)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.IDGRUPOINCIDENCIA).HasPrecision(10);
            entity.Property(e => e.ORDEN).HasPrecision(10);

            entity.HasOne(d => d.IDGRUPOINCIDENCIANavigation).WithMany(p => p.SUBGRUPOSINCIDENCIAS)
                .HasForeignKey(d => d.IDGRUPOINCIDENCIA)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("SUBGRUPOSINCIDENCIAS_FK1");
        });

        modelBuilder.Entity<SUBUNIDADADMINISTRATIVA>(entity =>
        {
            entity.HasKey(e => e.IDSUBUNIDADADMINISTRATIVA).HasName("SUBUNIDADADMINISTRATIVA_PK");

            entity.Property(e => e.IDSUBUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.IDUNIDADADMINISTRATIVA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(200)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
        });

        modelBuilder.Entity<SUPERVISORES>(entity =>
        {
            entity.HasKey(e => e.ID_SUPERVISOR).HasName("SUPERVISORES_PK");

            entity.Property(e => e.ID_SUPERVISOR).HasPrecision(10);
            entity.Property(e => e.ACTIVO_SUPERVISOR).HasPrecision(1);
            entity.Property(e => e.APELLIDOS)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.CLASIFICACION)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.CONTRASENA)
                .HasMaxLength(8)
                .IsUnicode(false);
            entity.Property(e => e.DEPARTAMENTO)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.ECONOMICA).HasPrecision(1);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.PERSONAL).HasPrecision(1);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(8)
                .IsUnicode(false);
        });

        modelBuilder.Entity<TARIFACOTIZACION>(entity =>
        {
            entity.HasKey(e => e.IDTARIFACOTIZACION).HasName("PRIMARY_14");

            entity.Property(e => e.IDTARIFACOTIZACION).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IMS)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.IT)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
            entity.Property(e => e.TOTAL)
                .ValueGeneratedOnAdd()
                .HasColumnType("FLOAT");
        });

        modelBuilder.Entity<TARJETAS>(entity =>
        {
            entity.HasKey(e => e.IDTARJETA).HasName("PRIMARY_91");

            entity.HasIndex(e => e.NUMEROTARJETA, "NUMEROTARJETA_UNIQUE").IsUnique();

            entity.HasIndex(e => e.IDPERSONA, "TARJETAS_PERSONAS_IDX");

            entity.Property(e => e.IDTARJETA).HasPrecision(10);
            entity.Property(e => e.ESMAESTRA).HasPrecision(1);
            entity.Property(e => e.FECHAALTA).HasColumnType("DATE");
            entity.Property(e => e.FECHABAJA).HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NUMEROTARJETA)
                .HasMaxLength(20)
                .IsUnicode(false);

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.TARJETAS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("TARJETAS_FK_01");
        });

        modelBuilder.Entity<TIPOACTOSADMINISTRATIVOS>(entity =>
        {
            entity.HasKey(e => e.IDTIPO).HasName("TIPOACTOSADMINISTRATIVOS_PK");

            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.CORREO)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(150)
                .IsUnicode(false);
        });

        modelBuilder.Entity<TIPOAPTOSADMINISTRATIVOS>(entity =>
        {
            entity.HasKey(e => e.IDTIPO).HasName("TIPOAPTOSADMINISTRATIVOS_PK");

            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.ACTIVO).HasPrecision(1);
            entity.Property(e => e.CORREO)
                .HasMaxLength(200)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(150)
                .IsUnicode(false);
        });

        modelBuilder.Entity<TIPOSDOCACTOSADMINPREP>(entity =>
        {
            entity.HasKey(e => e.IDTIPOFICHERO).HasName("TIPOSDOCACTOSADMINPREP_PK");

            entity.Property(e => e.IDTIPOFICHERO).HasPrecision(10);
            entity.Property(e => e.FECHA)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDFICHERO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDFICHERONavigation).WithMany(p => p.TIPOSDOCACTOSADMINPREP)
                .HasForeignKey(d => d.IDFICHERO)
                .HasConstraintName("TIPOSDOCACTOSADMINPREP_FK1");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.TIPOSDOCACTOSADMINPREP)
                .HasForeignKey(d => d.IDPERSONA)
                .HasConstraintName("TIPOSDOCACTOSADMINPREP_FK2");
        });

        modelBuilder.Entity<TIPOSESTADOSASISTENCIA>(entity =>
        {
            entity.HasKey(e => e.IDTIPOESTADOASISTENCIA).HasName("TIPOSESTADOSASISTENCIA_PK");

            entity.Property(e => e.IDTIPOESTADOASISTENCIA).HasPrecision(10);
            entity.Property(e => e.ESTADO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.ORDEN).HasColumnType("NUMBER");
        });

        modelBuilder.Entity<TIPOSOCUPACIONES>(entity =>
        {
            entity.HasKey(e => e.IDTIPOOCUPACION).HasName("PRIMARY_15");

            entity.Property(e => e.IDTIPOOCUPACION).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(150)
                .IsUnicode(false);
            entity.Property(e => e.PORCENTAJEIMS).HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJEIT).HasColumnType("FLOAT");
        });

        modelBuilder.Entity<TIPOSPUESTOSTRABAJO>(entity =>
        {
            entity.HasKey(e => e.IDTIPOPUESTO).HasName("PRIMARY_81");

            entity.HasIndex(e => e.IDTIPOPERSONA, "TIPOSPUESTOSTRABAJO_IDTIPOPERS");

            entity.HasIndex(e => e.IDOCUPACION, "TIPOSPUESTOSTRABAJO_TIPOOCUPAC");

            entity.Property(e => e.IDTIPOPUESTO).HasPrecision(10);
            entity.Property(e => e.CODIGOANTIGUO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.EPIGRAFE)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.FECHABAJA).HasColumnType("DATE");
            entity.Property(e => e.GRUPOTARIFA)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.IDGRUPOFUNCIONARIO).HasPrecision(10);
            entity.Property(e => e.IDOCUPACION).HasPrecision(10);
            entity.Property(e => e.IDTIPOPERSONA).HasPrecision(10);
            entity.Property(e => e.NIVEL)
                .HasMaxLength(45)
                .IsUnicode(false);

            entity.HasOne(d => d.IDGRUPOFUNCIONARIONavigation).WithMany(p => p.TIPOSPUESTOSTRABAJOIDGRUPOFUNCIONARIONavigation)
                .HasForeignKey(d => d.IDGRUPOFUNCIONARIO)
                .HasConstraintName("TIPOSPUESTOSTRABAJO_FK_03");

            entity.HasOne(d => d.IDOCUPACIONNavigation).WithMany(p => p.TIPOSPUESTOSTRABAJO)
                .HasForeignKey(d => d.IDOCUPACION)
                .HasConstraintName("TIPOSPUESTOSTRABAJO_FK_02");

            entity.HasOne(d => d.IDTIPOPERSONANavigation).WithMany(p => p.TIPOSPUESTOSTRABAJOIDTIPOPERSONANavigation)
                .HasForeignKey(d => d.IDTIPOPERSONA)
                .HasConstraintName("TIPOSPUESTOSTRABAJO_FK_01");
        });

        modelBuilder.Entity<TIPOSSESIONES>(entity =>
        {
            entity.HasKey(e => e.IDTIPOSESION).HasName("PRIMARY_92");

            entity.HasIndex(e => e.IDPERSONA, "COMISIONES_PERSONAS_IDX");

            entity.HasIndex(e => new { e.IDTIPO, e.IDPERSONA }, "PERSONA_TIPO").IsUnique();

            entity.Property(e => e.IDTIPOSESION).HasPrecision(10);
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDTIPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.TIPOSSESIONES)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("TIPOSSESIONES_FK_02");

            entity.HasOne(d => d.IDTIPONavigation).WithMany(p => p.TIPOSSESIONES)
                .HasForeignKey(d => d.IDTIPO)
                .HasConstraintName("TIPOSSESIONES_FK_01");
        });

        modelBuilder.Entity<TIPOSTRAMOS>(entity =>
        {
            entity.HasKey(e => e.IDTIPOTRAMOS).HasName("PRIMARY_30");

            entity.HasIndex(e => e.IDTIPOTRAMOFICHEROXML, "TIPOSTRAMOS_ENUMERACIONESTIPOF");

            entity.HasIndex(e => e.IDREGIMENAPLICACION, "TIPOSTRAMOS_ENUMERACIONES_REGI");

            entity.HasIndex(e => e.IDCODIGOTRAMOACUMULA, "TIPOSTRAMOS_TIPOSTRAMOS_CODIGO");

            entity.Property(e => e.IDTIPOTRAMOS).HasPrecision(10);
            entity.Property(e => e.CODIGO)
                .HasMaxLength(45)
                .IsUnicode(false);
            entity.Property(e => e.COTIZACIONTRABAJADORDYFP).HasPrecision(1);
            entity.Property(e => e.COTIZAEMPRESA).HasPrecision(1);
            entity.Property(e => e.COTIZATRABAJADORCC).HasPrecision(1);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.IDCODIGOTRAMOACUMULA).HasPrecision(10);
            entity.Property(e => e.IDREGIMENAPLICACION).HasPrecision(10);
            entity.Property(e => e.IDTIPOTRAMOFICHEROXML).HasPrecision(10);
            entity.Property(e => e.MODIFICABLE).HasPrecision(1);
            entity.Property(e => e.RESTAENACUMULADO).HasPrecision(1);
            entity.Property(e => e.SEMANDAIMPORTEEMPRESA).HasPrecision(1);
            entity.Property(e => e.SOLICITADOALUSUARIO).HasPrecision(1);

            entity.HasOne(d => d.IDCODIGOTRAMOACUMULANavigation).WithMany(p => p.InverseIDCODIGOTRAMOACUMULANavigation)
                .HasForeignKey(d => d.IDCODIGOTRAMOACUMULA)
                .HasConstraintName("TIPOSTRAMOS_FK_03");

            entity.HasOne(d => d.IDREGIMENAPLICACIONNavigation).WithMany(p => p.TIPOSTRAMOSIDREGIMENAPLICACIONNavigation)
                .HasForeignKey(d => d.IDREGIMENAPLICACION)
                .HasConstraintName("TIPOSTRAMOS_FK_02");

            entity.HasOne(d => d.IDTIPOTRAMOFICHEROXMLNavigation).WithMany(p => p.TIPOSTRAMOSIDTIPOTRAMOFICHEROXMLNavigation)
                .HasForeignKey(d => d.IDTIPOTRAMOFICHEROXML)
                .HasConstraintName("TIPOSTRAMOS_FK_01");
        });

        modelBuilder.Entity<TIPOS_ALTOCARGO>(entity =>
        {
            entity.HasKey(e => e.IDTIPO).HasName("TIPOS_ALTOCARGO_PK");

            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(25)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TIPO_PERSONAL)
                .HasMaxLength(1)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
        });

        modelBuilder.Entity<TIPOS_PERSONAL>(entity =>
        {
            entity.HasKey(e => e.IDTIPO).HasName("TIPOS_PERSONAL_PK");

            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(25)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TIPO_PERSONAL)
                .HasMaxLength(2)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
        });

        modelBuilder.Entity<TIPOS_PERSONAS>(entity =>
        {
            entity.HasKey(e => e.IDTIPO).HasName("TIPOS_PERSONAS_PK");

            entity.Property(e => e.IDTIPO).HasPrecision(10);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(25)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TIPO_PERSONAS)
                .HasMaxLength(1)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
        });

        modelBuilder.Entity<TITULACIONES>(entity =>
        {
            entity.HasKey(e => e.IDTITULACION).HasName("TITULACIONES_PK");

            entity.Property(e => e.IDTITULACION).HasPrecision(10);
            entity.Property(e => e.CENTRO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DESCRIPCION)
                .HasMaxLength(300)
                .IsUnicode(false);
            entity.Property(e => e.FECHA_EXPEDICION).HasColumnType("DATE");
            entity.Property(e => e.FECHA_INSCRIPCION_DEFINITIVA).HasColumnType("DATE");
            entity.Property(e => e.FECHA_INSCRIPCION_PROVISIONAL).HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NUM_REGISTRO)
                .HasMaxLength(30)
                .IsUnicode(false);
            entity.Property(e => e.RUTA)
                .HasMaxLength(250)
                .IsUnicode(false);

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.TITULACIONES)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("TITULACIONES_FK1");
        });

        modelBuilder.Entity<TRABAJADORTIEMPOPARCIAL>(entity =>
        {
            entity.HasKey(e => e.IDTRABAJADORTIEMPOPARCIAL).HasName("PRIMARY_16");

            entity.HasIndex(e => e.IDPERSONA, "IDPERSONAL_FK_IDX");

            entity.Property(e => e.IDTRABAJADORTIEMPOPARCIAL).HasPrecision(10);
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.PORCENTAJEPARCIALIDAD)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("'100' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.TRABAJADORTIEMPOPARCIAL)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("TRABAJADORTIEMPOPARCIAL_FK_01");
        });

        modelBuilder.Entity<TRAMOSSILTRA>(entity =>
        {
            entity.HasKey(e => e.IDTRAMOSILTRA).HasName("PRIMARY_38");

            entity.HasIndex(e => e.IDPERIODO, "TRAMOSSILTRA_PERIODOSSILTRA_ID");

            entity.HasIndex(e => e.IDTIPOTRAMO, "TRAMOSSILTRA_TIPOSTRAMOS_IDX");

            entity.Property(e => e.IDTRAMOSILTRA).HasPrecision(10);
            entity.Property(e => e.CONTCOMUNIMPORTEEMPR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONTCOMUNIMPORTETRAB)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONTCOMUNPORCENTEMPR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.CONTCOMUNPORCENTTRAB)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOIMPORTEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOIMPORTETRABAJADOR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOPORCENTAJEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.DESEMPLEOPORCENTAJETRABAJADOR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAIMPORTEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAIMPORTETRABAJADOR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAPORCENTAJEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FOGASAPORCENTAJETRABAJADOR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFIMPORTEEMPR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFIMPORTETRAB)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFPORCENTEMPR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FORMACIONPROFPORCENTTRAB)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IDPERIODO).HasPrecision(10);
            entity.Property(e => e.IDTIPOTRAMO).HasPrecision(10);
            entity.Property(e => e.IMPORTE)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTEGLOBAL)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMPORTETRABAJADOR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMSEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.IMSIMPORTEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.ITEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.ITIMPORTEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJEEMPRESA)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");
            entity.Property(e => e.PORCENTAJETRABAJADOR)
                .HasDefaultValueSql("'0' ")
                .HasColumnType("FLOAT");

            entity.HasOne(d => d.IDPERIODONavigation).WithMany(p => p.TRAMOSSILTRA)
                .HasForeignKey(d => d.IDPERIODO)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("TRAMOSSILTRA_FK_01");

            entity.HasOne(d => d.IDTIPOTRAMONavigation).WithMany(p => p.TRAMOSSILTRA)
                .HasForeignKey(d => d.IDTIPOTRAMO)
                .HasConstraintName("TRAMOSSILTRA_FK_02");
        });

        modelBuilder.Entity<TRIENIOS>(entity =>
        {
            entity.HasKey(e => e.IDTRIENIO).HasName("TRIENIOS_PK");

            entity.Property(e => e.IDTRIENIO).HasPrecision(10);
            entity.Property(e => e.GRUPO)
                .HasMaxLength(3)
                .IsUnicode(false)
                .ValueGeneratedOnAdd()
                .IsFixedLength();
            entity.Property(e => e.IDGRUPO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONAL)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.TC)
                .HasPrecision(10)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("0");
            entity.Property(e => e.TOA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd()
                .HasDefaultValueSql("0");

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.TRIENIOS)
                .HasForeignKey(d => d.IDGRUPO)
                .HasConstraintName("TRIENIOS_FK1");

            entity.HasOne(d => d.IDPERSONALNavigation).WithMany(p => p.TRIENIOS)
                .HasForeignKey(d => d.IDPERSONAL)
                .HasConstraintName("TRIENIOS_FK_1");
        });

        modelBuilder.Entity<TRIENIOS_ALTOCARGO>(entity =>
        {
            entity.HasKey(e => e.IDTRIENIO).HasName("TRIENIOS_ALTOCARGO_PK");

            entity.Property(e => e.IDTRIENIO)
                .HasPrecision(10)
                .ValueGeneratedNever();
            entity.Property(e => e.GRUPO)
                .HasMaxLength(3)
                .IsUnicode(false)
                .IsFixedLength();
            entity.Property(e => e.IDALTOCARGO).HasPrecision(10);
            entity.Property(e => e.SEXENIOS)
                .HasPrecision(10)
                .HasDefaultValueSql("0");
            entity.Property(e => e.TC)
                .HasPrecision(10)
                .HasDefaultValueSql("0");
            entity.Property(e => e.TOA)
                .HasPrecision(10)
                .HasDefaultValueSql("0");
        });

        modelBuilder.Entity<TURNOSTEMPORALES>(entity =>
        {
            entity.HasKey(e => e.IDTURNOTEMPORAL).HasName("PRIMARY_55");

            entity.HasIndex(e => e.IDHORARIOPERSONA, "TURNOSTEMPORALES_HORARIOSPERSO");

            entity.HasIndex(e => e.IDHORARIO, "TURNOSTEMPORALES_HORARIOS_IDX");

            entity.HasIndex(e => e.IDTURNO, "TURNOSTEMPORALES_TURNOS_IDX");

            entity.Property(e => e.IDTURNOTEMPORAL).HasPrecision(10);
            entity.Property(e => e.FECHAFIN)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.FECHAINICIO)
                .ValueGeneratedOnAdd()
                .HasColumnType("DATE");
            entity.Property(e => e.IDHORARIO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDHORARIOPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDTURNO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDHORARIONavigation).WithMany(p => p.TURNOSTEMPORALES)
                .HasForeignKey(d => d.IDHORARIO)
                .HasConstraintName("TURNOSTEMPORALES_FK_02");

            entity.HasOne(d => d.IDHORARIOPERSONANavigation).WithMany(p => p.TURNOSTEMPORALES)
                .HasForeignKey(d => d.IDHORARIOPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("TURNOSTEMPORALES_FK_03");

            entity.HasOne(d => d.IDTURNONavigation).WithMany(p => p.TURNOSTEMPORALES)
                .HasForeignKey(d => d.IDTURNO)
                .HasConstraintName("TURNOSTEMPORALES_FK_01");
        });

        modelBuilder.Entity<UNIDADADMINISTRATIVA>(entity =>
        {
            entity.HasKey(e => e.IDUNIDADADMINISTRATIVA).HasName("UNIDADADMINISTRATIVA_PK");

            entity.Property(e => e.IDUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.ACTIVO_DEPARTAMENTO).HasPrecision(1);
            entity.Property(e => e.CLAVE_DEPARTAMENTO)
                .HasMaxLength(2)
                .IsUnicode(false);
            entity.Property(e => e.LITERAL_DEPARTAMENTO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.ORDEN).HasColumnType("NUMBER");
        });

        modelBuilder.Entity<USUARIOS>(entity =>
        {
            entity.HasKey(e => e.IDUSUARIO).HasName("PRIMARY_64");

            entity.HasIndex(e => e.IDGRUPOBD, "KK");

            entity.HasIndex(e => e.NOMBRE, "NOMBRE_UNIQUE_7").IsUnique();

            entity.HasIndex(e => e.IDGRUPO, "USUARIOS_GRUPOSUSUARIOS_IDX_92");

            entity.HasIndex(e => e.USUARIO, "USUARIO_UNIQUE").IsUnique();

            entity.Property(e => e.IDUSUARIO).HasPrecision(10);
            entity.Property(e => e.IDGRUPO).HasPrecision(10);
            entity.Property(e => e.IDGRUPOBD).HasPrecision(10);
            entity.Property(e => e.NOMBRE)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.SHA1PASSWD)
                .HasMaxLength(40)
                .IsUnicode(false);
            entity.Property(e => e.USUARIO)
                .HasMaxLength(30)
                .IsUnicode(false);

            entity.HasOne(d => d.IDGRUPONavigation).WithMany(p => p.USUARIOS)
                .HasForeignKey(d => d.IDGRUPO)
                .HasConstraintName("USUARIOS_FK_02");

            entity.HasOne(d => d.IDGRUPOBDNavigation).WithMany(p => p.USUARIOS)
                .HasForeignKey(d => d.IDGRUPOBD)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("USUARIOS_FK_01");
        });

        modelBuilder.Entity<VALIDACIONDOCUMENTOS>(entity =>
        {
            entity.HasKey(e => e.IDVALIDACIONDOCUMENTO).HasName("VALIDACIONDOCUMENTO_PK");

            entity.Property(e => e.IDVALIDACIONDOCUMENTO).HasPrecision(10);
            entity.Property(e => e.CSV)
                .HasMaxLength(150)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.HASHFICHERO)
                .HasMaxLength(100)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDTIPODOCUMENTO)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.RUTAFICHERO)
                .HasMaxLength(500)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDTIPODOCUMENTONavigation).WithMany(p => p.VALIDACIONDOCUMENTOS)
                .HasForeignKey(d => d.IDTIPODOCUMENTO)
                .HasConstraintName("VALIDACIONDOCUMENTOS_FK1");
        });

        modelBuilder.Entity<VALORESNOMINA>(entity =>
        {
            entity.HasKey(e => e.IDVALNOMINA).HasName("VALORESNOMINA_PK");

            entity.Property(e => e.IDVALNOMINA).HasPrecision(10);
            entity.Property(e => e.COMCARRA1).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1II)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1III).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1IV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA1V)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2II).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2III)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2IV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRA2V)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRB).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBII).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBIII)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBIV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRBV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1II).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1III)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1IV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC1V)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2II).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2III)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2IV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRC2V)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARRE).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARREII).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARREIII).HasColumnType("FLOAT");
            entity.Property(e => e.COMCARREIV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.COMCARREV)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.FECHAFIN).HasColumnType("DATE");
            entity.Property(e => e.FECHAINCIO).HasColumnType("DATE");
            entity.Property(e => e.SUELDOA1).HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOA1X)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOA2)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOA2X)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOB)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOBX)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC1)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC1X).HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC2)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOC2X)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOE)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.SUELDOEX)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA1)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA1X)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA2).HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMA2X).HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMB)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMBX)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC1)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC1X)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC2)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMC2X).HasColumnType("FLOAT");
            entity.Property(e => e.TRIADME).HasColumnType("FLOAT");
            entity.Property(e => e.TRIADMEX)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARA1)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARA1X).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARA2).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARA2X).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARB)
                .HasDefaultValueSql("0")
                .HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARBX).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARC1).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARC1X).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARC2).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARC2X).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPARE).HasColumnType("FLOAT");
            entity.Property(e => e.TRIPAREX).HasColumnType("FLOAT");
        });

        modelBuilder.Entity<VEHICULOS>(entity =>
        {
            entity.HasKey(e => e.IDVEHICULO).HasName("PRIMARY_56");

            entity.HasIndex(e => e.IDPERSONA, "VEHICULOS_PERSONAS_IDX");

            entity.Property(e => e.IDVEHICULO).HasPrecision(10);
            entity.Property(e => e.COLOR)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.IDPERSONA)
                .HasPrecision(10)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MARCA)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MARCAMODELO)
                .HasMaxLength(60)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MATRICULA)
                .HasMaxLength(12)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();
            entity.Property(e => e.MODELO)
                .HasMaxLength(45)
                .IsUnicode(false)
                .ValueGeneratedOnAdd();

            entity.HasOne(d => d.IDPERSONANavigation).WithMany(p => p.VEHICULOS)
                .HasForeignKey(d => d.IDPERSONA)
                .OnDelete(DeleteBehavior.Cascade)
                .HasConstraintName("VEHICULOS_FK_01");
        });

        modelBuilder.Entity<VIDA_ADMINISTRATIVA>(entity =>
        {
            entity.HasKey(e => e.IDVIDA).HasName("VIDA_ADMINISTRATIVA_PK");

            entity.Property(e => e.IDVIDA).HasPrecision(10);
            entity.Property(e => e.CENTRO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.DENOMINACION_OLD)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
            entity.Property(e => e.FECHARESOLUCION).HasColumnType("DATE");
            entity.Property(e => e.FECHAT).HasColumnType("DATE");
            entity.Property(e => e.GRUPOT).HasPrecision(10);
            entity.Property(e => e.IDMOTIVO).HasPrecision(10);
            entity.Property(e => e.IDPERSONAL).HasPrecision(10);
            entity.Property(e => e.IDPUESTO).HasPrecision(10);
            entity.Property(e => e.IDSERVICIOADSCRITO).HasPrecision(10);
            entity.Property(e => e.IDSUBUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.IDTIPOPERSONAL).HasPrecision(10);
            entity.Property(e => e.IDTRAMOCARRERAHORIZONTAL).HasPrecision(10);
            entity.Property(e => e.IDUNIDADADMINISTRATIVA).HasPrecision(10);
            entity.Property(e => e.NIVELC).HasPrecision(10);
            entity.Property(e => e.NIVEL_OLD).HasPrecision(10);
            entity.Property(e => e.NRP)
                .HasMaxLength(16)
                .IsUnicode(false);
            entity.Property(e => e.NTRIENIO).HasPrecision(10);
            entity.Property(e => e.NUM_REG).HasPrecision(10);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(150)
                .IsUnicode(false);
            entity.Property(e => e.OCUPACION_OLD).HasPrecision(10);
            entity.Property(e => e.TITULO)
                .HasMaxLength(100)
                .IsUnicode(false);

            entity.HasOne(d => d.GRUPOTNavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.GRUPOT)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_5");

            entity.HasOne(d => d.IDMOTIVONavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDMOTIVO)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_1");

            entity.HasOne(d => d.IDPERSONALNavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDPERSONAL)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK1");

            entity.HasOne(d => d.IDPUESTONavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDPUESTO)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_2");

            entity.HasOne(d => d.IDSERVICIOADSCRITONavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDSERVICIOADSCRITO)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_8");

            entity.HasOne(d => d.IDSUBUNIDADADMINISTRATIVANavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDSUBUNIDADADMINISTRATIVA)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_7");

            entity.HasOne(d => d.IDTIPOPERSONALNavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDTIPOPERSONAL)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK4");

            entity.HasOne(d => d.IDTRAMOCARRERAHORIZONTALNavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDTRAMOCARRERAHORIZONTAL)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK3");

            entity.HasOne(d => d.IDUNIDADADMINISTRATIVANavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.IDUNIDADADMINISTRATIVA)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_6");

            entity.HasOne(d => d.NIVELCNavigation).WithMany(p => p.VIDA_ADMINISTRATIVANIVELCNavigation)
                .HasForeignKey(d => d.NIVELC)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_3");

            entity.HasOne(d => d.NIVEL_OLDNavigation).WithMany(p => p.VIDA_ADMINISTRATIVANIVEL_OLDNavigation)
                .HasForeignKey(d => d.NIVEL_OLD)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK2");

            entity.HasOne(d => d.OCUPACION_OLDNavigation).WithMany(p => p.VIDA_ADMINISTRATIVA)
                .HasForeignKey(d => d.OCUPACION_OLD)
                .HasConstraintName("VIDA_ADMINISTRATIVA_FK_4");
        });

        modelBuilder.Entity<V_ASISTENCIAS_EXTENDIDA>(entity =>
        {
            entity
                .HasNoKey()
                .ToView("V_ASISTENCIAS_EXTENDIDA");

            entity.Property(e => e.EXPEDIENTEECO)
                .HasMaxLength(50)
                .IsUnicode(false);
            entity.Property(e => e.FECHA).HasColumnType("DATE");
            entity.Property(e => e.FECHACOMPENSACION).HasColumnType("DATE");
            entity.Property(e => e.FECHAFINTARDE).HasColumnType("DATE");
            entity.Property(e => e.FECHAOCURRENCIA).HasColumnType("DATE");
            entity.Property(e => e.FECHAOCURRENCIAFIN).HasColumnType("DATE");
            entity.Property(e => e.HORAFINMAÑANAEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINTARDEEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAFINTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINCIDENCIA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOMAÑANAEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOTARDEEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORAINICIOTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASCOMPENSACION_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASRECUPERABLES).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASMAÑANAEXTRA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASMAÑANA_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASTARDEEXTRAS_D).HasColumnType("FLOAT");
            entity.Property(e => e.HORASTRABAJADASTARDE_D).HasColumnType("FLOAT");
            entity.Property(e => e.IDASISTENCIA).HasPrecision(10);
            entity.Property(e => e.IDDEPARTAMENTO).HasPrecision(10);
            entity.Property(e => e.IDESTADO).HasPrecision(10);
            entity.Property(e => e.IDINCIDENCIACONTROLHORARIO).HasPrecision(10);
            entity.Property(e => e.IDPERSONA).HasPrecision(10);
            entity.Property(e => e.NUMERODEDIAS).HasPrecision(10);
            entity.Property(e => e.OBSERVACIONES)
                .HasMaxLength(500)
                .IsUnicode(false);
            entity.Property(e => e.ULTIMOESTADO)
                .HasMaxLength(100)
                .IsUnicode(false);
        });

        modelBuilder.Entity<V_ULTIMOESTADOASISTENCIA>(entity =>
        {
            entity
                .HasNoKey()
                .ToView("V_ULTIMOESTADOASISTENCIA");

            entity.Property(e => e.ESTADO)
                .HasMaxLength(100)
                .IsUnicode(false);
            entity.Property(e => e.FECHAHORA).HasColumnType("DATE");
            entity.Property(e => e.IDASISTENCIA).HasPrecision(10);
            entity.Property(e => e.IDESTADO).HasPrecision(10);
            entity.Property(e => e.RN).HasColumnType("NUMBER");
        });
        modelBuilder.HasSequence("ACCESOSWEB_SEQ");
        modelBuilder.HasSequence("AMORTIZACIONESPRESTAMOS_SEQ");
        modelBuilder.HasSequence("ASCENDIENTES_SEQ");
        modelBuilder.HasSequence("ASCENDIENTESHISTORICOIRPF_SEQ");
        modelBuilder.HasSequence("ASIGNACIONTEMPORALCOBRADA_SEQ");
        modelBuilder.HasSequence("ASISTENCIAS_SEQ");
        modelBuilder.HasSequence("ASISTENCIASSESIONES_SEQ");
        modelBuilder.HasSequence("AUTORIZACIONESGRUPOS_SEQ");
        modelBuilder.HasSequence("AUTORIZACIONESUSUARIOS_SEQ");
        modelBuilder.HasSequence("BANCOS_SEQ");
        modelBuilder.HasSequence("BLOQUEOS_SEQ");
        modelBuilder.HasSequence("CERTIFICADOSPUBLICOS_SEQ");
        modelBuilder.HasSequence("CODIGOSPOSTALESN_SEQ");
        modelBuilder.HasSequence("CONCEPTOSGENERALES_SEQ");
        modelBuilder.HasSequence("CONCEPTOSPUESTOSDETRABAJO_SEQ");
        modelBuilder.HasSequence("CONCEPTOSTIPOSPUESTOSTRABA_SEQ");
        modelBuilder.HasSequence("CONEXIONES_SEQ");
        modelBuilder.HasSequence("CONEXIONESBD_SEQ");
        modelBuilder.HasSequence("CONTRATOS_SEQ");
        modelBuilder.HasSequence("CORREOS_SEQ");
        modelBuilder.HasSequence("CUENTASCORREO_SEQ");
        modelBuilder.HasSequence("CUENTASCOTIZACIONPATRONAL_SEQ");
        modelBuilder.HasSequence("DECLARACIONESDEVENGOS_SEQ");
        modelBuilder.HasSequence("DEDUCCIONESRETENCIONESJUDI_SEQ");
        modelBuilder.HasSequence("DESGLOSETRIYCOMPLANTIGUEDA_SEQ");
        modelBuilder.HasSequence("DEVENGOS_SEQ");
        modelBuilder.HasSequence("DIASCOMPENSACION_SEQ");
        modelBuilder.HasSequence("DIFERENCIAPAGODELEGADO_SEQ");
        modelBuilder.HasSequence("DIFERENCIATRIENIOS_SEQ");
        modelBuilder.HasSequence("DIPUTADOS_SEQ");
        modelBuilder.HasSequence("ENFERMEDADES_SEQ");
        modelBuilder.HasSequence("ENUMERACIONES_SEQ");
        modelBuilder.HasSequence("EXCEPCIONESHORARIOS_SEQ");
        modelBuilder.HasSequence("EXPEDIENTESPERSONAS_SEQ");
        modelBuilder.HasSequence("FICHEROS_SEQ");
        modelBuilder.HasSequence("FICHEROSCONFIGURACION_SEQ");
        modelBuilder.HasSequence("FIESTAS_SEQ");
        modelBuilder.HasSequence("GRUPOBD_SEQ");
        modelBuilder.HasSequence("GRUPOSENUMERACIONES_SEQ");
        modelBuilder.HasSequence("GRUPOSMENUS_SEQ");
        modelBuilder.HasSequence("GRUPOSUSUARIOS_SEQ");
        modelBuilder.HasSequence("HIJOS_SEQ");
        modelBuilder.HasSequence("HIJOSHISTORICOIRPF_SEQ");
        modelBuilder.HasSequence("HISTORICOIRPF_SEQ");
        modelBuilder.HasSequence("HORARIOS_SEQ");
        modelBuilder.HasSequence("HORARIOSPERSONAS_SEQ");
        modelBuilder.HasSequence("HORASEXTRAS_SEQ");
        modelBuilder.HasSequence("HORASMES_SEQ");
        modelBuilder.HasSequence("HUELGAS_SEQ");
        modelBuilder.HasSequence("INCIDENCIAS_SEQ");
        modelBuilder.HasSequence("INCIDENCIASCONTROLHORARIO_SEQ");
        modelBuilder.HasSequence("LEGISLATURAS_SEQ");
        modelBuilder.HasSequence("LOGS_SEQ");
        modelBuilder.HasSequence("MATERNIDADES_SEQ");
        modelBuilder.HasSequence("MENUS_SEQ");
        modelBuilder.HasSequence("NOMINAS_SEQ");
        modelBuilder.HasSequence("NOMINATRABAJADORCABECERA_SEQ");
        modelBuilder.HasSequence("NOMINATRABAJADORCABECERA_SEQ1");
        modelBuilder.HasSequence("NOMINATRABAJADORLINEA_SEQ");
        modelBuilder.HasSequence("NOMINATRABAJADORLINEADESGL_SEQ");
        modelBuilder.HasSequence("NOMINATRABAJADORPAGOESPECI_SEQ");
        modelBuilder.HasSequence("NOMINATRABAJADORPAGOESPECIE_S");
        modelBuilder.HasSequence("OTRASRETRIBUCIONES_SEQ");
        modelBuilder.HasSequence("PARTIDOSPOLITICOS_SEQ");
        modelBuilder.HasSequence("PERCEPTORES_SEQ");
        modelBuilder.HasSequence("PERIODOSSILTRA_SEQ");
        modelBuilder.HasSequence("PERMISOS_SEQ");
        modelBuilder.HasSequence("PERMISOSSINRETRIBUCION_SEQ");
        modelBuilder.HasSequence("PERSONAS_SEQ");
        modelBuilder.HasSequence("PERSONASLEGISLATURAS_SEQ");
        modelBuilder.HasSequence("PICADAS_SEQ");
        modelBuilder.HasSequence("PLANTILLAS_SEQ");
        modelBuilder.HasSequence("PRESTAMOS_SEQ");
        modelBuilder.HasSequence("PROCESOS_SEQ");
        modelBuilder.HasSequence("PRODUCTIVIDAD_SEQ");
        modelBuilder.HasSequence("PUESTOSTRABAJO_SEQ");
        modelBuilder.HasSequence("REDUCCIONDEJORNADA_SEQ");
        modelBuilder.HasSequence("RELOJES_SEQ");
        modelBuilder.HasSequence("RETENCIONJUDICIAL_SEQ");
        modelBuilder.HasSequence("SESIONES_SEQ");
        modelBuilder.HasSequence("SITUACIONACTUALIRPF_SEQ");
        modelBuilder.HasSequence("sq_ACCESOSWEB");
        modelBuilder.HasSequence("sq_ACTOSADMINPREP");
        modelBuilder.HasSequence("sq_ADSCRIPCION");
        modelBuilder.HasSequence("sq_ALTOS_CARGOS");
        modelBuilder.HasSequence("sq_AMORTIZACIONESPRESTAMOS");
        modelBuilder.HasSequence("sq_APLICACION_PRESUPUESTARIA");
        modelBuilder.HasSequence("sq_ASCENDIENTES");
        modelBuilder.HasSequence("sq_ASCENDIENTESHISTORICOIRPF");
        modelBuilder.HasSequence("sq_ASIGNACIONTEMPORALCOBRADA");
        modelBuilder.HasSequence("sq_ASISTENCIAS");
        modelBuilder.HasSequence("sq_ASISTENCIASSESIONES");
        modelBuilder.HasSequence("sq_AUTORIZACIONESGRUPOS");
        modelBuilder.HasSequence("sq_AUTORIZACIONESUSUARIOS");
        modelBuilder.HasSequence("sq_BANCOS");
        modelBuilder.HasSequence("sq_BLOQUEOS");
        modelBuilder.HasSequence("sq_CODIGOSPOSTALESN");
        modelBuilder.HasSequence("sq_COMPLEMENTONIVEL");
        modelBuilder.HasSequence("sq_COMPLEMENTOSCARRERA");
        modelBuilder.HasSequence("sq_CONCEPTOSGENERALES");
        modelBuilder.HasSequence("sq_CONCEPTOSPUESTOSDETRABAJO");
        modelBuilder.HasSequence("sq_CONCEPTOSTIPOSPUESTOSTRABA");
        modelBuilder.HasSequence("sq_CONEXIONES");
        modelBuilder.HasSequence("sq_CONEXIONESBD");
        modelBuilder.HasSequence("sq_CONSOLIDACION_GRADO");
        modelBuilder.HasSequence("sq_CONTRATOS");
        modelBuilder.HasSequence("sq_CORREOS");
        modelBuilder.HasSequence("sq_CUENTASCORREO");
        modelBuilder.HasSequence("sq_CUENTASCOTIZACIONPATRONAL");
        modelBuilder.HasSequence("sq_CUERPO");
        modelBuilder.HasSequence("sq_CUMPLIMIENTO_TRIENIOS");
        modelBuilder.HasSequence("sq_CURSOS");
        modelBuilder.HasSequence("sq_DECLARACIONESDEVENGOS");
        modelBuilder.HasSequence("sq_DEDUCCIONESRETENCIONESJUDI");
        modelBuilder.HasSequence("sq_DEPARTAMENTOSCH");
        modelBuilder.HasSequence("sq_DESGLOSETRIYCOMPLANTIGUEDA");
        modelBuilder.HasSequence("sq_DEVENGOS");
        modelBuilder.HasSequence("sq_DIASACOMPENSARPERSONAS");
        modelBuilder.HasSequence("sq_DIASCOMPENSACION");
        modelBuilder.HasSequence("sq_DIFERENCIAPAGODELEGADO");
        modelBuilder.HasSequence("sq_DIFERENCIATRIENIOS");
        modelBuilder.HasSequence("sq_DIPUTADOS");
        modelBuilder.HasSequence("sq_DOCENCIA");
        modelBuilder.HasSequence("sq_DOTACION");
        modelBuilder.HasSequence("sq_ENFERMEDADES");
        modelBuilder.HasSequence("sq_ENLACES");
        modelBuilder.HasSequence("sq_ENUMERACIONES");
        modelBuilder.HasSequence("sq_ESPECIFICOS");
        modelBuilder.HasSequence("sq_ESTADOSASISTENCIA");
        modelBuilder.HasSequence("sq_EXCEPCIONESHORARIOS");
        modelBuilder.HasSequence("sq_EXCEPCIONESPERMISOS");
        modelBuilder.HasSequence("sq_EXPEDIENTESPERSONAS");
        modelBuilder.HasSequence("sq_FAMILIA");
        modelBuilder.HasSequence("sq_FICHEROS");
        modelBuilder.HasSequence("sq_FICHEROSCONFIGURACION");
        modelBuilder.HasSequence("sq_FIESTAS");
        modelBuilder.HasSequence("sq_FORMACION");
        modelBuilder.HasSequence("sq_FORMACIONIMPARTIDA");
        modelBuilder.HasSequence("sq_GRUPO");
        modelBuilder.HasSequence("sq_GRUPO_ALTOCARGO");
        modelBuilder.HasSequence("sq_GRUPOBD");
        modelBuilder.HasSequence("sq_GRUPOSENUMERACIONES");
        modelBuilder.HasSequence("sq_GRUPOSINCIDENCIAS");
        modelBuilder.HasSequence("sq_GRUPOSMENUS");
        modelBuilder.HasSequence("sq_GRUPOSUSUARIOS");
        modelBuilder.HasSequence("sq_HIJOS");
        modelBuilder.HasSequence("sq_HIJOSHISTORICOIRPF");
        modelBuilder.HasSequence("sq_HISTORICOIRPF");
        modelBuilder.HasSequence("sq_HORARIOS");
        modelBuilder.HasSequence("sq_HORARIOSCURSOS");
        modelBuilder.HasSequence("sq_HORARIOSPERSONAS");
        modelBuilder.HasSequence("sq_HORASEXTRAS");
        modelBuilder.HasSequence("sq_HORASMES");
        modelBuilder.HasSequence("sq_HUELGAS");
        modelBuilder.HasSequence("sq_IDIOMAS");
        modelBuilder.HasSequence("sq_INCIDENCIAS");
        modelBuilder.HasSequence("sq_INCIDENCIASCONTROLHORARIO");
        modelBuilder.HasSequence("sq_LEGISLATURAS");
        modelBuilder.HasSequence("sq_LINEASVIDAADMINISTRATIVA");
        modelBuilder.HasSequence("sq_LOGS");
        modelBuilder.HasSequence("sq_MAPEOSUSUARIOS");
        modelBuilder.HasSequence("sq_MATERNIDADES");
        modelBuilder.HasSequence("sq_MENUS");
        modelBuilder.HasSequence("sq_MOTIVOS_ADMINISTRATIVOS");
        modelBuilder.HasSequence("sq_NIVEL");
        modelBuilder.HasSequence("sq_NOMINAS");
        modelBuilder.HasSequence("sq_NOMINATRABAJADORCABECERA");
        modelBuilder.HasSequence("sq_NOMINATRABAJADORLINEA");
        modelBuilder.HasSequence("sq_NOMINATRABAJADORLINEADESGL");
        modelBuilder.HasSequence("sq_NOMINATRABAJADORPAGOESPECI");
        modelBuilder.HasSequence("sq_NOMINATRABAJADORPAGOESPECIE");
        modelBuilder.HasSequence("sq_OCUPACION");
        modelBuilder.HasSequence("sq_OTRASRETRIBUCIONES");
        modelBuilder.HasSequence("sq_PAGINASWEBINTRANET");
        modelBuilder.HasSequence("sq_PARTIDOSPOLITICOS");
        modelBuilder.HasSequence("sq_PERCEPTORES");
        modelBuilder.HasSequence("sq_PERIODOSSILTRA");
        modelBuilder.HasSequence("sq_PERMISOS");
        modelBuilder.HasSequence("sq_PERMISOSSINRETRIBUCION");
        modelBuilder.HasSequence("sq_PERSONAS");
        modelBuilder.HasSequence("sq_PERSONASCURSOS");
        modelBuilder.HasSequence("sq_PERSONASLEGISLATURAS");
        modelBuilder.HasSequence("sq_PICADAS");
        modelBuilder.HasSequence("sq_PLANTILLAS");
        modelBuilder.HasSequence("sq_PLAZOS");
        modelBuilder.HasSequence("sq_POSIBLESESTADOSASISNTECIA");
        modelBuilder.HasSequence("sq_PRESTAMOS");
        modelBuilder.HasSequence("sq_PROCESOS");
        modelBuilder.HasSequence("sq_PRODUCTIVIDAD");
        modelBuilder.HasSequence("sq_PROFESORESCURSOS");
        modelBuilder.HasSequence("sq_PROVISION");
        modelBuilder.HasSequence("sq_PUESTOS");
        modelBuilder.HasSequence("sq_PUESTOSTRABAJO");
        modelBuilder.HasSequence("sq_REDUCCIONDEJORNADA");
        modelBuilder.HasSequence("sq_REGISTROACTIVIDADREST");
        modelBuilder.HasSequence("sq_RELOJES");
        modelBuilder.HasSequence("sq_RETENCIONJUDICIAL");
        modelBuilder.HasSequence("sq_RETRIBUCIONBASICA");
        modelBuilder.HasSequence("sq_ROLESDEPARTAMENTOSCH");
        modelBuilder.HasSequence("sq_RPT");
        modelBuilder.HasSequence("sq_RPT_DESCRIP");
        modelBuilder.HasSequence("sq_SALAS");
        modelBuilder.HasSequence("sq_SERVICIOS");
        modelBuilder.HasSequence("sq_SESIONES");
        modelBuilder.HasSequence("sq_SITUACION");
        modelBuilder.HasSequence("sq_SITUACIONACTUALIRPF");
        modelBuilder.HasSequence("sq_SUBGRUPOSINCIDENCIAS");
        modelBuilder.HasSequence("sq_SUBUNIDADADMINISTRATIVA");
        modelBuilder.HasSequence("sq_SUPERVISORES");
        modelBuilder.HasSequence("sq_TARIFACOTIZACION");
        modelBuilder.HasSequence("sq_TARJETAS");
        modelBuilder.HasSequence("sq_TIPOACTOSADMINISTRATIVOS");
        modelBuilder.HasSequence("sq_TIPOAPTOSADMINISTRATIVOS");
        modelBuilder.HasSequence("sq_TIPOS_ALTOCARGO");
        modelBuilder.HasSequence("sq_TIPOS_PERSONAL");
        modelBuilder.HasSequence("sq_TIPOS_PERSONAS");
        modelBuilder.HasSequence("sq_TIPOSDOCACTOSADMINPREP");
        modelBuilder.HasSequence("sq_TIPOSESTADOSASISTENCIA");
        modelBuilder.HasSequence("sq_TIPOSOCUPACIONES");
        modelBuilder.HasSequence("sq_TIPOSPUESTOSTRABAJO");
        modelBuilder.HasSequence("sq_TIPOSSESIONES");
        modelBuilder.HasSequence("sq_TIPOSTRAMOS");
        modelBuilder.HasSequence("sq_TITULACIONES");
        modelBuilder.HasSequence("sq_TRABAJADORTIEMPOPARCIAL");
        modelBuilder.HasSequence("sq_TRAMOSSILTRA");
        modelBuilder.HasSequence("sq_TRIENIOS");
        modelBuilder.HasSequence("sq_TRIENIOS_ALTOCARGO");
        modelBuilder.HasSequence("sq_TURNOSTEMPORALES");
        modelBuilder.HasSequence("sq_UNIDADADMINISTRATIVA");
        modelBuilder.HasSequence("sq_USUARIOS");
        modelBuilder.HasSequence("sq_VALIDACIONDOCUMENTOS");
        modelBuilder.HasSequence("sq_VALORESNOMINA");
        modelBuilder.HasSequence("sq_VEHICULOS");
        modelBuilder.HasSequence("sq_VIDA_ADMINISTRATIVA");
        modelBuilder.HasSequence("TARIFACOTIZACION_SEQ");
        modelBuilder.HasSequence("TARJETAS_SEQ");
        modelBuilder.HasSequence("TIPOSOCUPACIONES_SEQ");
        modelBuilder.HasSequence("TIPOSPUESTOSTRABAJO_SEQ");
        modelBuilder.HasSequence("TIPOSSESIONES_SEQ");
        modelBuilder.HasSequence("TIPOSTRAMOS_SEQ");
        modelBuilder.HasSequence("TRABAJADORTIEMPOPARCIAL_SEQ");
        modelBuilder.HasSequence("TRAMOSSILTRA_SEQ");
        modelBuilder.HasSequence("TURNOSTEMPORALES_SEQ");
        modelBuilder.HasSequence("USUARIOS_SEQ");
        modelBuilder.HasSequence("VALORESNOMINA_SEQ");
        modelBuilder.HasSequence("VEHICULOS_SEQ");

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
