在Servicestack.OrmLite中映射字段类型

时间:2013-08-28 09:19:37

标签: c# oracle servicestack ormlite-servicestack

假设我在DB中有一个字段,可能的值为'Y','N',NULL。我想在我的DTO中用布尔属性('N',NULL - > false,'Y' - > true)表示它。在查询/更新/插入期间,我可以以某种方式插入OrmLite自己进行转换(两个方向,ofc)吗? 感谢

1 个答案:

答案 0 :(得分:5)

ORMLite使用简单的POCO,因此您可以执行以下操作:

public class MyDto
{
    // Values: Y, N, and NULL
    public string SomeDbField { get; set; }

    [Ignore]
    public bool SomeDbFieldAccessor
    {
        get { return (SomeDbField != null && SomeDbField == "Y"); }
        set { SomeDbField = value ? "Y" : "N"; }
    }
}

访问者字段上的[Ignore]属性将告诉ORMLite该字段不应保存到数据库中/从数据库中读取。