Mapeando o tipo smallint no entity framework code first

Fala pessoal! Dica rápida.

Essa semana tive um problema de mapeamento de uma tabela no entity framework 6 e resolvi compartilhar com vocês.

Estava fazendo o mapeamento de uma table cujo o campo estava no formato smallint no SQL Server e na minha classe C# eu declarei o tipo int. Ao fazer uma consulta na tabela recebi o seguinte erro:

Conversão especificada não é válida ou Specified cast is not valid

Fiz alguma pesquisas e achei algumas soluções como colocar o código abaixo no OnModelCreating:

modelBuilder.Entity().Property(x => x.Propriedade).HasColumnType("SMALLINT");

Ou então declarar a propriedade com o tipo Int16 nas propriedades da classe de mapeamento.

Bom… Nenhuma dessa opções funcionou comigo. Se você quiser fazer este mapeamento de forma rápida e sem dor de cabeça basta declarar o tipo short na classe de sua tabela e “voilá”, mapeamento feito sem dor de cabeça.

public short NomePropriedade { get; set; }

Veja mais sobre o tipo short aqui na msdn

até a próxima!