存储到 SQL 服务器时,在 2 位数字添加零后进行十进制修剪
Decimal Trimmed after 2 digits added Zeros while store to SQL Server
我试图将纬度和经度存储到我的数据库中。
我的 table 中有这些专栏:
[Latitude] NUMERIC(12, 8) NULL,
[Longitude] NUMERIC(12, 8) NULL,
在 C# 模型 class 中,我的属性是:
[Column(TypeName = "numeric")]
[Range(-9999.99999999, 9999.99999999)]
public decimal? Latitude { get; set; }
[Column(TypeName = "numeric")]
[Range(-9999.99999999, 9999.99999999)]
public decimal? Longitude { get; set; }
我想将这些 Latitude
和 Longitude
值存储到我的数据库 table。
我在这里做错了什么?请帮忙
decimal lats = decimal.Parse("56.12345678");
decimal longs = decimal.Parse("10.18732210");
context.test.Add(new test
{
Latitude = lats,
Longitude = longs
});
context.SaveChanges();
它将值存储在数据库中 table 如下所示:
Latitude: 56.12000000
Longitude : 10.18000000
我想在数据库中存储相同的值:
"56.12345678"
"10.18732210"
您可能还需要像这样在 OnModelCreating 中指定它:
modelBuilder.Entity<Test>().Property(a => a.Latitude).HasPrecision(18, 9);
modelBuilder.Entity<Test>().Property(a => a.Longitude).HasPrecision(18, 9);
以防万一您需要更多高级功能并且您使用的是 EF Core,请查看:
https://docs.microsoft.com/en-us/ef/core/modeling/spatial
我试图将纬度和经度存储到我的数据库中。
我的 table 中有这些专栏:
[Latitude] NUMERIC(12, 8) NULL,
[Longitude] NUMERIC(12, 8) NULL,
在 C# 模型 class 中,我的属性是:
[Column(TypeName = "numeric")]
[Range(-9999.99999999, 9999.99999999)]
public decimal? Latitude { get; set; }
[Column(TypeName = "numeric")]
[Range(-9999.99999999, 9999.99999999)]
public decimal? Longitude { get; set; }
我想将这些 Latitude
和 Longitude
值存储到我的数据库 table。
我在这里做错了什么?请帮忙
decimal lats = decimal.Parse("56.12345678");
decimal longs = decimal.Parse("10.18732210");
context.test.Add(new test
{
Latitude = lats,
Longitude = longs
});
context.SaveChanges();
它将值存储在数据库中 table 如下所示:
Latitude: 56.12000000
Longitude : 10.18000000
我想在数据库中存储相同的值:
"56.12345678"
"10.18732210"
您可能还需要像这样在 OnModelCreating 中指定它:
modelBuilder.Entity<Test>().Property(a => a.Latitude).HasPrecision(18, 9);
modelBuilder.Entity<Test>().Property(a => a.Longitude).HasPrecision(18, 9);
以防万一您需要更多高级功能并且您使用的是 EF Core,请查看: https://docs.microsoft.com/en-us/ef/core/modeling/spatial