簡體   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