Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement the field decimal(5,2) in EntityFrameworkCore 1.0 rc2?

How to implement the field decimal(5,2) in EntityFrameworkCore 1.0 rc2 ?

HasPrecision seems to be not available anymore?

like image 908
Caesar Avatar asked May 23 '16 21:05

Caesar


2 Answers

I'm seeing some examples like this:

 entityBuilder.Property(r => r.TotalScore)             .HasColumnType("decimal(5,2)")             .IsRequired(true); 

and the code to support this is here, so hopefully this is supported in the version you're using:

https://github.com/aspnet/EntityFramework/blob/f416dd9a71a5a6a69715b4ba40a37e6f9da751ef/src/Microsoft.EntityFrameworkCore.Relational/Metadata/Internal/RelationalPropertyBuilderAnnotations.cs

like image 64
AaronLS Avatar answered Sep 20 '22 01:09

AaronLS


You can add extensions for that like this:

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})");     } } 
like image 45
Andrés Robinet Avatar answered Sep 19 '22 01:09

Andrés Robinet