sql server 2008 -将c#十进制保存为sql decimal(18.4) sql

本文关键字:sql decimal 十进制 2008 server 保存 | 更新日期: 2023-09-27 17:53:14

我有一个小问题。我有一个字段,我的客户希望在其中存储最多4位小数点后的价格(至少可以说很奇怪,但仍然)。到目前为止,我只能向DB提交2位小数。

我使用代码首先与实体做保存和SQL Server 2008 R2为我的DB。

PurchaseOrder.cs (Code First)

public virtual decimal ShippingCost { get; set; }

PurchaseOrderService.cs(服务层保存到实体)

public virtual void UpdatePurchaseOrder(PurchaseOrder purchaseOrder)
{
    if (purchaseOrder == null)
       throw new ArgumentNullException("purchase order");
    _purchaseOrderRepository.Update(purchaseOrder);
}

PurchaseOrder表:

ShippingCost decimal(18, 4) NOT NULL

交货。Shipping Cost在UI上输入为10.5555。在整个服务层中,它一直保持这个值。一旦到达发送到实体保存的位置,DB就不会保留10.55以上的额外值。

sql server 2008 -将c#十进制保存为sql decimal(18.4) sql

有一个实体框架默认值只使用2个小数。

EF Code First的十进制精度和比例

显示如何更改。