【问题标题】:map field types in Servicestack.OrmLiteServicestack.OrmLite 中的映射字段类型
【发布时间】:2013-08-28 09:19:37
【问题描述】:

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

【问题讨论】:

    标签: c# oracle servicestack ormlite-servicestack


    【解决方案1】:

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

    【讨论】:

    • 这正是我认为如果 OrmLite 没有这个功能我必须做的事情:)。感谢您的确认
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2018-01-08
    • 1970-01-01
    • 2023-02-18
    • 2018-11-23
    • 2022-08-03
    相关资源
    最近更新 更多