我有以下问题:
几个带有“数据”,“ token_data”列的表,这些表会随着时间的推移切换其值
阶段:
我们目前所有的dapper / db模型都考虑了阶段0。
有没有办法为所有四个阶段准备Dapper模型?我在寻找OptionalColumn属性,但找不到一个。
理想情况下,将有一个全局配置开关,该开关将控制哪个Dapper模型属性代表标记化的“数据”列。
喜欢:
// Not good
[Column("Name")]
public string Name
{
get { return AppSettings.TokenizationEnabled ? this.TokenName : _name; }
set { _name = value; }
}
答案 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