繁体   English   中英

存储和管理SQL Server数据类型

[英]Store and manage SQL Server data types

我需要使用LINQ存储和操作以下模型,并将数据存储在SQL Server Express中:

我将属性设置如下:

public DbSet<Carga> Cargas { get; set; }

public class Carga
{
    public decimal PesoLiquido { get; set; }
}

要像这样操纵值:1 / 1.0 / 1.10 / 1.012

C#和Sql-Server中正确的类型是什么?

我收到如下错误:

public ActionResult Index()
{
    return View(db.Cargas.ToList());
}

“ Carga”上的“ PesoLiquido”属性无法设置为“ Single”值。 您必须将此属性设置为'Decimal'类型的非空值。

似乎您在C#中具有固定的精度数据类型(十进制),而在sql列上具有浮点精度(实数或浮点数)。

将sql列类型更改为money / decimal / numeric类型,或将C#字段类型更改为Single。

如果您处理的是金钱或货物重量, 小数将是最好的-它可以存储所有范围的值而不会丢失精度。

sql server上的默认十进制是十进制(18,0)。 如果您打算使用其他比例/精度,请让实体框架知道: modelBuilder.Entity<Carga>().Property(c=> c.PesoLiquido).HasPrecision(16, 10);

数据类型“ Single”与C#中的float相同。 floatdecimal没有隐式转换。 确保客户端设置了decimal值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM