0

我正在使用 Telerik Data Access Fluent Model(Open Access) Code first 方法来生成数据库。除了一些问题外,一切都进展顺利。• 我在代码中创建了一个作为十进制的属性。但在数据库中,它的数据类型是数字而不是十进制。我需要将数据类型设置为十进制,但这给了我数字。• 代码中的 Bool 属性存在相同类型的问题,它使我将 tinyint 作为数据库中的数据类型而不是位。我还在 C# 代码中将属性设置为布尔值,生成的列仍然是 tinyInt。我需要将它设置为数据库中的位

这是我的属性和生成的列的图像(来自数据库中的这些属性)

这些是用代码 http://screencast.com/t/sOXOi3as0N编写的属性

这是数据库中生成的表的图像 http://screencast.com/t/9KmmEK1IL

4

1 回答 1

1

这似乎是产品的默认行为 - 将十进制 CLR 类型道具映射到数字 SQL 类型的列,并将布尔道具映射到 tinyint cols。您需要通过以下方式为映射到这些 props 的基础列指定正确的 SQL 类型,稍微更改包持久类型的映射配置:

mappingConfiguration.HasProperty(x => x.BasicPrice).HasColumnType("decimal").HasPrecision(18).HasScale(2); 
mappingConfiguration.HasProperty(x => x.IsActive).HasColumnType("bit");
于 2014-02-06T16:51:24.783 回答