none
Relación de Tablas uno a uno. Mediante Code First.

    Pregunta

  • Hola:

    Estoy creando la tabla mediante las entidades en Code First.

    Tengo dos tablas una Actividades_Economicas y otra Actividades_Empresa. En la tabla actividades económicas estas todas las actividades que se pueden desarrolla y en la tabla Actividaades_Empesa son las que la empresa realiza, pero no puede estar una Actividad_Economica dos veces.

    La estructura de las tablas es la siguiente:

    OPero en vez de ser uno a mucho necesitaria fuese uno a uno

    Pero al ponerlas en código me da error.


    [Table("Actividades")]
        public class Actividad
        {
            [Key]
            [ForeignKey("ActividadEconomica")]
            public int ActividadId { get; set; }
            public int EmpresaId { get; set; }
            public TipoActividad Tipo { get; set; }
            [StringLength(100)]
            public string Localidad { get; set; }
    
            ..............
           
            [StringLength(10)]
            public string ActividadEconomicaId { get; set; }
    
    
            //Relaciones
            [Required]
            public virtual ActividadEconomica ActividadEconomica { get; set; }
        }
    [Table("ActividadesEconomicas")]
        public class ActividadEconomica
        {
            [Key]
            [StringLength(10)]
            public string ActividadEconomicaId { get; set; }
    
            [StringLength(50)]
            public string Descripcion { get; set; }
            
    
            //Relaciones
            public virtual Actividad Actividad { get; set; }
    
        }

    Pero al hacer update-database me da el siguiente error:

    One or more validation errors were detected during model generation:

    Actividad_ActividadEconomica_Target_Actividad_ActividadEconomica_Source: : The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property 'ActividadId' on entity 'Actividad' does not match the type of property 'ActividadEconomicaId' on entity 'ActividadEconomica' in the referential constraint 'Actividad_ActividadEconomica'.

    Si alguien me puede indicar como debo declararlas en el código, le estaría muy agradecido.

    Un Saludo y gracias.



    • Editado elturle viernes, 16 de marzo de 2018 9:23
    jueves, 15 de marzo de 2018 23:01