了Dapper - 两列随时间被切换(由配置值控制)

问题描述 投票:0回答:1

我有以下问题: 一个几个表与“数据”,随着时间的推移切换他们的价值观“token_data”列 阶段:

  1. 在当前的相位0,仅存在“数据”列(明文数据)。
  2. 在第1阶段将有“数据”,“token_data”列。
  3. 在相位2中,将有“token_data”,“clear_data”列。
  4. 在最后的第3阶段,应该只有“数据”列(由时间应当标记化)。

我们目前有短小精悍/ DB模式在考虑阶段0。 有没有办法对所有4个阶段准备小巧玲珑的车型?我一直在寻找OptionalColumn属性,但找不到一个。 理想情况下,将是一个全局配置交换机,将控制其小巧精致的模型属性代表符号化的“数据”一栏。 喜欢:

// Not good
    [Column("Name")]
        public string Name
        {
            get { return AppSettings.TokenizationEnabled ? this.TokenName : _name; }
            set { _name = value; }
        }

dapper
1个回答
0
投票

这不是100%清楚你需要做什么。例如,为什么你不能只是创建了一个类的所有特性,并根据该阶段,该阶段返回正确的数据。就像是:

class MyData {
    public int Phase;
    public String Data { private get; public set; }
    public String Token_Data { private get; public set; }
    public String Clean_Data { private get; public set; }
    public String GetData() 
    { 
        switch(Phase): {
        case 1: return Token_Data; break;
        case 2: return Clean_data; break;
        default: return Data; break
    }
}

除此之外,反正我觉得所谓的“每行类型转换”的功能,可以帮助您:https://github.com/StackExchange/Dapper#type-switching-per-row

© www.soinside.com 2019 - 2024. All rights reserved.