У меня есть сценарий, где:
Есть две (или более) таблицы, которые представляют независимые элементы. скажем, пользователи и компании
Обе эти таблицы нуждаются в сохранении адресов. Каждый из них может иметь один или несколько адресов
В обычном сценарии «Адреса 1 ко многим» у таблицы woudl просто есть UserId или CompanyId, создающие нормальное отношение «1 ко многим».
В этом случае у меня есть несколько подходов, которые я могу придумать
таблица адресов может иметь как UserId, так и CompanyId, и для каждой записи будет использоваться только один.
Можно использовать 2 ключа ObjectId и ObjectType, поэтому у Object ID будет UserId или CompanyId, а ObjectType будет User или Company
Создайте ObjectTable и добавьте ObjectId для пользователей и компаний. Адреса тогда будут иметь OjbectId
Мне не очень нравится ни одно из этих решений. мне интересно, каков наилучший подход здесь.
В другой заметке я, скорее всего, буду использовать linqtosql для своего уровня доступа к данным.