Я не смог найти ответ на этот конкретный вопрос. Я пытаюсь сохранить объектно-ориентированную модель моей предметной области и повторно использовать объекты, где это возможно. У меня возникла проблема, определяющая, как обеспечить сопоставление нескольким классам из одной строки. Позвольте мне объяснить на примере:
У меня есть одна таблица, назовите ее Customer. У клиента есть несколько атрибутов; но для краткости предположим, что у него есть Id, Name, Address, City, State, ZipCode.
Я хотел бы создать класс Customer и Address, который будет выглядеть так:
public class Customer {
public virtual long Id {get;set;}
public virtual string Name {get;set;}
public virtual Address Address {get;set;}
}
public class Address {
public virtual string Address {get;set;}
public virtual string City {get;set;}
public virtual string State {get;set;}
public virtual string ZipCode {get;set;}
}
У меня возникли проблемы с определением того, каким будет сопоставление для класса Address в классе Customer. Нет таблицы адресов и нет «набора» адресов, связанных с клиентом. Я просто хочу более объектно-ориентированное представление таблицы Customer в коде. Есть несколько других таблиц, в которых есть информация об адресе, и было бы неплохо иметь повторно используемый класс Address для работы с ними. Адреса не разделяются, поэтому разбивать все адреса на отдельные таблицы с внешними ключами кажется излишним и, на самом деле, более болезненным, поскольку мне понадобятся внешние ключи для нескольких таблиц.
Может ли кто-нибудь просветить меня в этом типе картирования? Пожалуйста, приведите пример, если можете.
Спасибо за любые идеи!
-Mike