2

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

4

1 回答 1

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 该字段不应保存到数据库中/从数据库中读取。

于 2013-08-28T16:12:16.137 回答