【问题标题】:Saving C# decimal to SQL decimal(18,4) SQL [duplicate]将 C# 十进制保存为 SQL 十进制(18,4)SQL [重复]
【发布时间】:2014-05-02 05:18:10
【问题描述】:

我有一个小问题。我有一个字段,我的客户希望将价格存储到小数点后 4 位(至少可以说很奇怪,但仍然如此)。到目前为止,我只能将 2 个小数位提交回数据库。

我使用 Code First 和 Entity 为我的数据库进行保存和 SQL Server 2008 R2。这是我对每个人的看法。

PurchaseOrder.cs(代码优先)

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

例如。运费在 UI 上输入为 10.5555。一直到服务层,它都保持着这个价值。一旦到达将其发送到实体进行保存的位置,数据库就不会保留超过 10.55 的这些额外值。

【问题讨论】:

    标签: c# sql-server-2008 entity-framework-4 ef-code-first


    【解决方案1】:

    这里有一个实体框架默认值,它只使用 2 位小数。

    Decimal precision and scale in EF Code First

    展示了如何改变它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-01
      • 2017-12-30
      • 2012-07-07
      • 2017-09-28
      • 1970-01-01
      • 2017-07-31
      • 2013-07-20
      • 2012-06-17
      相关资源
      最近更新 更多