![](/img/trans.png)
[英]How to manage to store null byte array in SQL Server with Entity Framework?
[英]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
相同。 从float
到decimal
没有隐式转换。 确保客户端设置了decimal
值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.