Я написал класс, который расширяет SqlMapper.ITypeMap
, и у меня есть оператор switch в моей функции public SqlMapper.IMemberMap GetMember(string columnName)
. Проблема в том, что я хочу отобразить любые дополнительные столбцы в Dictionary<string, string>
.
public class MyClass
{
public string Name { get; set; }
public int SequenceNumber{ get; set; }
public bool IsLocked{ get; set; }
public Dictionary<string, string> AdditionalValues { get; set; }
}
public SqlMapper.IMemberMap GetMember(string columnName)
{
switch (columnName)
{
case string x when x.EndsWith(nameof(MyClass.Name)):
columnName = nameof(MyClass.Name);
break;
case string x when x.EndsWith(nameof(MyClass.SequenceNumber)):
columnName = nameof(MyClass.SequenceNumber);
break;
case string x when x.EndsWith(nameof(MyClass.IsLocked)):
columnName = nameof(MyClass.IsLocked);
break;
default:
// How do I specify to map the extra columns to my Dictionary<string, string>
break;
}
}
Например, если запрос SQL вернул дополнительный 4-й и 5-й столбец с именем «ExtraA» и «ExtraB», тогда я хочу, чтобы мои Dictionary<string, string>
выглядели так:
["ExtraA"] = "SomeValueA"
["ExtraB"] = "SomeValueB"