我有以下问题: 一个几个表与“数据”,随着时间的推移切换他们的价值观“token_data”列 阶段:
我们目前有短小精悍/ DB模式在考虑阶段0。 有没有办法对所有4个阶段准备小巧玲珑的车型?我一直在寻找OptionalColumn属性,但找不到一个。 理想情况下,将是一个全局配置交换机,将控制其小巧精致的模型属性代表符号化的“数据”一栏。 喜欢:
// Not good
[Column("Name")]
public string Name
{
get { return AppSettings.TokenizationEnabled ? this.TokenName : _name; }
set { _name = value; }
}
这不是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