Как практичнее создавать классы для сохранения в базе данных и работе с ними?
Есть класс Person у него числовое поле Name где хранится Id записи из таблицы с именами.
Как практичнее будет.
Создать в классе Person строковое поле NameStr и украсить атрибутом NotMapped.
Или
Создать класс PersonStr наследуясь от Person.
Процесс написания проги в активной фазе, любые изменения не страшны.
Практичнее имя хранить в Person в виде строки. Первое, при запросе данных вам придется делать join таблиц, второе при вставке, надо проверить есть ли имя в таблице имен, при необходимости вставить, подставить Id в сущность, в третьих, когда надо будет поменять имя, одним словом боль. Для таких вещей больше подходит, какое то списочное значение, например, подразделение пользователя, какой то конечный список, который отдельно может меняться от главной сущности. Есть практика вынесения части данных в отдельную таблицу и связью one-to-one, когда полей у таблицы и сущности очень много становится и то при этом какие-то редко используемые данные выносятся.
Роман, Ну да соединить таблицы, настроить логику, это всё понятно. Но повторяющиеся Ф...И...О, это верхушка айсберга. У меня куча одинаковых текстов по 1000+ символов. Явно не стоит у каждой персоны их сохранять.
Спасибо за ответ, но вопрос несколько в другом.