При создании классов POCO, которые содержат коллекции примитивных типов и сохраняются EF Code First, лучший совет, который я нашел до сих пор, это создать новый класс, который имеет ID плюс примитивный тип:
Entity Framework and Models with Simple Arrays
Если сейчас у меня есть несколько классов, которые требуют свойств типа ObservableCollection
, и я заменю их на ObservableCollection
(где EntityString
- это пользовательский тип с Id и свойством string), В итоге я получаю таблицу EntityString
, которая имеет несколько столбцов внешнего ключа, по одному для каждого свойства типа ObservableCollection
во всех конкретных типах с такими свойствами.
Это приводит к раздуванию в основном нулевых столбцов внешних ключей в таблице EntityString
.
Одним из подходов было бы создание подкласса EntityString
и использование модели Table per Type для этих подклассов. Однако это требует внесения неудобных изменений в объектную модель просто для того, чтобы приспособить Entity Framework.
Вопросы:
Collection
?