![](/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.