Comment implémenter le champ decimal(5,2)
dans EntityFrameworkCore 1.0 rc2
?
HasPrecision
ne semble plus être disponible?
Je vois des exemples comme celui-ci:
entityBuilder.Property(r => r.TotalScore)
.HasColumnType("decimal(5,2)")
.IsRequired(true);
et le code pour le prendre en charge est ici, donc j'espère que cela est pris en charge dans la version que vous utilisez:
Vous pouvez ajouter des extensions pour cela comme ceci:
public static class SqlServerModelBuilderExtensions
{
public static PropertyBuilder<decimal?> HasPrecision(this PropertyBuilder<decimal?> builder, int precision, int scale)
{
return builder.HasColumnType($"decimal({precision},{scale})");
}
public static PropertyBuilder<decimal> HasPrecision(this PropertyBuilder<decimal> builder, int precision, int scale)
{
return builder.HasColumnType($"decimal({precision},{scale})");
}
}
JFYI, si une somedobie vient encore à cette question (comme je l'ai fait)
Dans la version actuelle d'EF Core (2.2), il existe également la méthode d'annotation des données:
public class SomeEFModelClass
{
[Column(TypeName = "decimal(5,2)")]
public decimal TotalScore{ get; set; }
}
Lien vers les documents: https://docs.Microsoft.com/en-us/ef/core/modeling/relational/data-types