none
Problema com property Int RRS feed

  • Pergunta

  • Quando faço um ToList() no modelo Pais, dá o seguinte erro:

    The 'CodigoGeral' property on 'Pais' could not be set to a 'Int16' value. You must set this property to a non-null value of type 'Int32'.

    The 'CodigoGeral' property on 'Pais' could not be set to a 'Int16' value. You must set this property to a non-null value of type 'Int32'.

    Só que meu model está assim:

    {
        [Table("pais")]
        public class Pais
        {
            [Key]
            [Column("pai_codigo")]
            public int Codigo { get; set; }
    
            [Required]
            [Column("pai_nome")]
            public string Nome { get; set; }
    
            [Column("pai_sigla")]
            public string Sigla { get; set; }
    
            [Column("pai_codigoIBGE")]
            public string CodigoIBGE { get; set; }
    
            [Column("pai_sigla2")]
            public string Sigla2 { get; set; }
    
            [Column("pai_codigogeral")]
            public Int32 CodigoGeral { get; set; }
        }
    }

    Não estou entendendo nada! Alguma ajuda?
    terça-feira, 20 de novembro de 2012 14:33

Respostas

  • Acho que no seu banco você está usando um smallInt para a propriedade CodigoGeral portanto você precisa declarar CodigoGeral sendo um Int16:

    [Column("pai_codigogeral")]
     public Int16 CodigoGeral { get; set; }

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    terça-feira, 20 de novembro de 2012 14:38

Todas as Respostas

  • Acho que no seu banco você está usando um smallInt para a propriedade CodigoGeral portanto você precisa declarar CodigoGeral sendo um Int16:

    [Column("pai_codigogeral")]
     public Int16 CodigoGeral { get; set; }

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    terça-feira, 20 de novembro de 2012 14:38
  • Isso mesmo.  Não achei que o EF fizesse essa validação... interessante.

    Obrigado.

    terça-feira, 20 de novembro de 2012 15:46