У меня есть база данных с таблицами для каждого объекта в системе. например PersonTable имеет столбцы PersonId, Name, HomeStateId. Существует также таблица для «справочных данных» (т. Е. Штатов, стран, всех валют и т. Д.), Которые будут использоваться для заполнения выпадающих списков. Эта справочная таблица также будет использоваться для того, чтобы HomeStateId PersonTable был внешним ключом справочной таблицы.
В приложении C # у нас есть интерфейсы и классы, определенные для сущности.
например PersonImplementationClass: IPersonInterface. Причина наличия интерфейсов для каждой сущности заключается в том, что фактический класс сущности будет хранить данные по-разному в зависимости от стороннего продукта, который может измениться.
Вопрос в том, должны ли интерфейс иметь свойства для Name, HomeStateId и HomeStateName (которые будут получены из справочной таблицы). ИЛИ должен ли интерфейс не раскрывать структуру базы данных, т.е. НЕ иметь HomeStateId, а просто иметь Name, HomeStateName?