Last active
February 7, 2020 13:54
-
-
Save Braytiner/4f545c5bbc1a18cc967e6e596d153c73 to your computer and use it in GitHub Desktop.
Correlação de tipos e annotations do C# para tipos do MySql
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/********************************************************************************************************************************** | |
Enumerados | |
**********************************************************************************************************************************/ | |
//Preenchimento obrigatório, com valor menor que dez e valor default | |
[Column(TypeName = "tinyint(2) default 1")] | |
public Pessoa Pessoa { get; set; } = Pessoa.Juridica; | |
//Sem preenchimento obrigatório, com valor menor que dez | |
[Column(TypeName = "tinyint(2)")] | |
public ModeloBalanca? ModeloBalanca { get; set; } | |
/********************************************************************************************************************************** | |
Booleanos | |
**********************************************************************************************************************************/ | |
//Preenchimento obrigatório e valor padrão | |
[Column(TypeName = "tinyint(1) default 1")] | |
public bool ImprimirEmpresaEtiqueta { get; set; } = true; | |
//Não obrigatórios | |
public bool? CalcularCustosEntrada { get; set; }; | |
/********************************************************************************************************************************** | |
Datas | |
**********************************************************************************************************************************/ | |
//Com preenchimento obrigatório e valor padrão default para o momento da inclusão do registro na tabela | |
[Column(TypeName = "DateTime default CURRENT_TIMESTAMP")] | |
public DateTime DataCadastro { get; set; } = DateTime.Now; | |
//Sem preenchimento obrigatório | |
[Column(TypeName = "DateTime")] | |
public DateTime? UltimoPagamento { get; set; } | |
/********************************************************************************************************************************** | |
Inteiros | |
**********************************************************************************************************************************/ | |
//Inteiro sem sinal, com preenchimento obrigatório | |
public uint MunicipioId { get; set; } | |
//Chaves estrangeiras: Inteiro sem sinal, com preenchimento obrigatório e com valor padrão | |
[Column(TypeName = "int(10) unsigned default 3303401")] | |
public uint MunicipioId { get; set; } = 3303401; | |
//Inteiro com sinal, com preenchimento obrigatório e sem valor padrão | |
public int Id { get; set; } | |
//Inteiro com sinal, com preenchimento obrigatório e com valor padrão | |
[Column(TypeName = "int(11) default 20")] | |
public int Inteiro4 { get; set; } = 20; | |
//Inteiro sem sinal, com preenchimento obrigatório e sem valor padrão | |
public uint Id { get; set; } | |
//Inteiro, sem preenchimento obrigatório | |
public int? Inteiro3 { get; set; } | |
//Ids de tabelas que não conterão muitos registros (Municipios, Cfop, CstIcms, etc...) | |
public ushort Id { get; set; } | |
//Inteiros pequenos com preenchimento obrigatório e valor default | |
[Column(TypeName = "smallint(5) default 300")] | |
public ushort IntervaloVerificacao { get; set; } = 300; | |
//Inteiros muito pequenos, sem sinal e com preenchimento obrigatório | |
public byte MenorInteiro { get; set; } | |
//Inteiros muito pequenos, sem sinal e sem preenchimento obrigatório | |
public byte? MenorInteiro { get; set; } | |
//Inteiros muito pequenos, com sinal e sem preenchimento obrigatório | |
public sbyte MenorInteiroComSinal { get; set; } | |
//Inteiros muito pequenos, sem sinal, com preenchimento obrigatório e valor padrão | |
[Column(TypeName = "tinyint(2) default 4")] | |
public byte TamanhoCodigoSequencial { get; set; } = 4; | |
/********************************************************************************************************************************** | |
Decimais | |
Para campos com decimais o MySql funciona da seguinte forma: DECIMAL(8,2) = o tamanho total de dígitos do campo será 8. Sendo 6 | |
casas para a parte antes da vírgula e 2 casas para decimais | |
**********************************************************************************************************************************/ | |
//Com preenchimento obrigatório e sem valor padrão (menores que um milhão) | |
[Column(TypeName = "decimal(8,2)")] | |
public decimal PrecoVenda { get; set; } | |
//Sem preenchimento obrigatório e sem valor padrão (menores que um milhão) | |
[Column(TypeName = "decimal(8,2)")] | |
public decimal PrecoVenda { get; set; } | |
//Com preenchimento obrigatório e com valor padrão (menores que um milhão) | |
[Column(TypeName = "decimal(8,2) default 0")] | |
public decimal PrecoVenda { get; set; } = 0; | |
//Percentuais obrigatórios com três casas decimais, menores que mil e valor padrão | |
[Column(TypeName = "decimal(6,3) default 0")] | |
public decimal JurosAtraso { get; set; } | |
//Percentuais obrigatórios, com duas casas decimais menores que mil | |
[Column(TypeName = "decimal(5,2)")] | |
public decimal JurosAtraso { get; set; } | |
/********************************************************************************************************************************** | |
String | |
**********************************************************************************************************************************/ | |
//Preenchimento obrigatório | |
[Required] | |
[MaxLength(60)] | |
public string Descricao { get; set; } | |
//Sem preenchimento obrigatório | |
[MaxLength(60)] | |
public string Descricao { get; set; } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment