Entity Framework: Хранение всех контактных данных в одной таблице (объединение, составные FK) - PullRequest
0 голосов
/ 03 ноября 2010

В моей базе данных хранятся три типа пользователей: агент, программист и сотрудник. У всех трех типов пользователей будет адрес, номер телефона, номер факса и т. Д., Поэтому, чтобы минимизировать количество таблиц, я хочу создать таблицу tbContactDetails и использовать ее для хранения сведений о контактах этих 3 типов пользователь.

Мой tbContactDetails, который выглядит так:

tbContactDetails
int ContactId (PK, FK)
int ContactType (FK) (1=Agent, 2=Programmer, 3=Employee)
char (50) Addresses etc... 

Поле ContactType определяет тип пользователя-владельца.

Таблица агента будет выглядеть так:

tbAgent
int AgentId (PK)
int ContactId (FK)
int ContactType (FK) (which will always be 1 for an agent)
char(50) Name etc...

Таким образом, все три таблицы, tbAgent, tbProgrammer и tbEmployee, будут иметь FK, соответствующий FK tbContactDetails.

Теперь я могу создать диаграмму в обозревателе серверов, связав FK tbContactDetails с tbAgent (FK), tbProgrammer (FK) и tbEmployee (FK).

У меня такой вопрос, и некоторые из вас, возможно, ожидали этого, как мне заставить Framework4 распознать это отношение FK2FK и создать для него ассоциации?

Извините, этот вопрос так долго,

Терри.

1 Ответ

0 голосов
/ 03 ноября 2010

Похоже, вы будете использовать Table Per Type Inheritance. Взгляните на это сообщение в блоге , особенно шаги 5 и 6. В вашем случае tbContactDetails будет базовой сущностью, а tbAgent, tbProgrammer и tbEmployee будут производными сущностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...