Хранение объекта в виде столбца в LINQ - PullRequest
0 голосов
/ 17 мая 2010

У меня есть некоторый класс, который конструирует себя из строки, например:

CurrencyVector v = new CurrencyVector("10 WMR / 20 WMZ");

На самом деле это класс, который содержит несколько значений валют, но это не имеет большого значения.

Мне нужно изменить тип столбца в моей таблице LINQ (в конструкторе vs 2010) с String на этот класс CurrencyVector.

Если я делаю это - я получаю ошибку времени выполнения, когда среда выполнения LINQ пытается привести String как CurrencyVector (при заполнении таблицы из базы данных). Добавление IConvertible не помогло.

Я обернул эти столбцы в свойствах, но это уродливое и медленное решение. Поиск в интернете не дал результатов.

1 Ответ

0 голосов
/ 17 мая 2010

Вы всегда можете расширить класс и создать другое свойство, которое возвращает объект. Вот так (псевдокод)

public partial class MyLinqEntity {
   public CurrencyVector  CurrencyVector {
       get {
          return new CurrencyVector(this.ColumnHoldingCurrencyVector);
       }
   }

}

где CurrencyVector имеет логику для преобразования строки в конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...