act*_*ult 2 c# oracle servicestack ormlite-servicestack
假设我在DB中有一个字段,可能的值为'Y','N',NULL.我想在我的DTO中使用布尔属性('N',NULL - > false,'Y' - > true)来表示它.在查询/更新/插入期间,我可以以某种方式插入OrmLite来自行进行转换(两个方向,ofc)吗?谢谢
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"; }
}
}
Run Code Online (Sandbox Code Playgroud)
在[Ignore]上存取场属性会告诉ORMLite该字段应该不会被保存到/从数据库中读取.