Я хотел бы знать, возможно ли сопоставить некоторые столбцы базы данных с пользовательским типом данных (пользовательским классом) вместо базовых типов данных, таких как string, int и так далее. Я попытаюсь объяснить это лучше на конкретном примере:
Допустим, у меня есть таблица, в которой один столбец содержит (текстовые) данные в специальном формате (например, число, за которым следует символ разделителя, а затем некоторая произвольная строка). Например. таблица выглядит так:
Table "MyData":
ID |Title(NVARCHAR) |CustomData (NVARCHAR)
---+----------------+-----------------------
1 |Item1 |1:some text
2 |Item2 |333:another text
(Предположим, мне не разрешено изменять базу данных) В моей модели предметной области мне бы хотелось, чтобы эта таблица была представлена двумя классами, например, как то так:
public class MyData
{
public int ID { get; set; }
public string Title { get; set; }
public CustomData { get; set; }
}
public class CustomData
{
public int ID { get; set; }
public string Text { get; set; }
public string SerializeToString()
{
// returns the string as it is stored in the DB
return string.Format("{0}:{1}", ID, Title);
}
public string DeserializeFromString(string value)
{
// sets properties from the string, e.g. "1:some text"
// ...
}
}
Предоставляет ли структура сущностей (V4) способ создания и использования таких "пользовательских типов данных"?