0

如何设置小数精度以减小数据库大小?我的 codefluent 模型中有一个十进制值。SQL 生成器为此属性生成一个十进制 (28,13) 字段。但是,我使用该属性来存储在小数点分隔符之后永远不会超过两位数且之前不超过四位的值。28,13 是矫枉过正。如何强制生产者将其设为 (6,2) 小数?

4

2 回答 2

1

您可以在生产者级别为小数列设置所需的精度:

<cf:producer name="SQL Server" typeName="CodeFluent.Producers.SqlServer.SqlServerProducer, CodeFluent.Producers.SqlServer">
  <cf:configuration
                  decimalScale="2"
                  decimalPrecision="6" />
</cf:producer>

生成的列是

[Price] [decimal] (6,2) NOT NULL
于 2016-04-20T09:52:36.670 回答
1

您可以使用 SQL Server Producer 特定sizedataType属性,如下所示:

<cf:property name="MyNumericProperty"
    typeName="decimal"
    cfps:size="6,2"
    cfps:dataType="numeric"
    xmlns:cfps="http://www.softfluent.com/codefluent/producers.sqlserver/2005/1"
/>

请注意,在大多数情况下,decimal在 .NET(16 字节)中也是多余的。

于 2016-04-22T20:49:09.747 回答