Вот что я сейчас делаю: я добавляю метод в частичный класс, соответствующий моей модели, у которого свойство .Data является строкой.
По сути, у вас есть экземпляр instance.UseData ((data) => {...});
Оттуда в лямбда-выражении вы можете читать / манипулировать данными, и они сохраняются обратно в исходное поле для базы данных ... Я хотел бы просто иметь возможность создать свойство для этого, которое привязано к событию обновить соответствующее поле.
Я добавляю более динамическую структуру в поле данных в виде XML ... это более естественно в VB.Net, чем в C # ... если бы мой проект был на C #, я мог бы склоняться в пользу JSON ...
C #
public void UseData(Action editor)
{
var def = XElement.Parse("");
XElement data;
try
{
if (String.IsNullOrWhiteSpace(this.Data))
{
data = def;
}
else
{
data = XElement.Parse(this.Data);
}
}
catch (Exception ex)
{
data = def;
}
editor(data);
this.Data = data.ToString();
}
VB.Net
Public Sub UseData(editor As Action(Of XElement))
Dim def =
Dim data As XElement
Try
If String.IsNullOrWhiteSpace(Me.Data) Then
data = def
Else
data = XElement.Parse(Me.Data)
End If
Catch ex As Exception
data = def
End Try
editor(data)
Me.Data = data.ToString()
End Sub