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

时间:2019-01-30 14:28:39

标签: dapper

我有以下问题:
几个带有“数据”,“ token_data”列的表,这些表会随着时间的推移切换其值

阶段:

  1. 在当前阶段0,只有“数据”列(清除数据)。
  2. 在第1阶段,将有“数据”,“令牌数据”列。
  3. 在阶段2中,将有“ token_data”,“ clear_data”列。
  4. 在最后一个阶段3中,应该只有“数据”列( 时间应该被标记化。)

我们目前所有的dapper / db模型都考虑了阶段0。

有没有办法为所有四个阶段准备Dapper模型?我在寻找OptionalColumn属性,但找不到一个。

理想情况下,将有一个全局配置开关,该开关将控制哪个Dapper模型属性代表标记化的“数据”列。

喜欢:

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


1 个答案:

答案 0 :(得分:0)

目前尚不清楚您需要做什么。例如,为什么不能仅创建具有所有属性的类,然后根据阶段返回该阶段的正确数据。像这样:

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