使用OpenAccess ORM Fluent API设置正确的数据类型

时间:2014-02-05 12:58:21

标签: asp.net telerik telerik-open-access

我正在使用Telerik数据访问流畅模型(Open Access)代码生成数据库的第一种方法。除了一些问题,一切都正常。 •我在代码中创建了一个Decimal属性。但在数据库中,其数据类型是数字而非十进制。我需要将数据类型设置为十进制,但这给了我数字。 •相同类型的问题是代码中的Bool属性,它在数据库中将tinyint作为数据类型而不是位。我还在C#代码中将属性设置为布尔值,生成的列仍然是tinyInt。我需要在数据库中将其设置为位

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

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

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

1 个答案:

答案 0 :(得分:1)

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

mappingConfiguration.HasProperty(x => x.BasicPrice).HasColumnType("decimal").HasPrecision(18).HasScale(2); 
mappingConfiguration.HasProperty(x => x.IsActive).HasColumnType("bit");
相关问题