【问题标题】:Set correct data type with OpenAccess ORM Fluent API使用 OpenAccess ORM Fluent API 设置正确的数据类型
【发布时间】:2014-02-05 12:58:20
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案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");
    

    【讨论】:

    • 可以在generell中配置ColumnType吗?我想将布尔类型 tinyint 更改为 bit 但我无法在文档中找到有用的东西...
    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 2014-08-23
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    相关资源
    最近更新 更多