С учетом сущностей EF, определенных следующим образом:
class Person { int PersonID; string Name; string Title; }
class ContactType { int TypeID; string TypeString; } // phone # types - mobile, home, work etc.
class PersonContact { int PersonID, int ContactTypeID, string ContactText; bool IsDefault; }
Где у человека может быть несколько # телефонов и даже несколько мобильных #
Поиск способов отображения всех людей вструктура таблицы выглядит следующим образом:
PersonID, Name, Title, PrimaryContact, MobileNumber
Где PrimaryContact - это запись PersonContact с IsDefault = true
и
ГДЕ MobileNumber - это "A" запись PersonContact с PersonContact.ContactType = ContactType.TypeID и ContactType.TypeString = "Mobile"
ПРИМЕЧАНИЕ. -
PrimaryContact - это поиск в PersonContact
MobileNumber - ТАКЖЕ поиск в PersonContact
. Ониможет указывать на одну и ту же запись PersonContact или может отличаться в зависимости от IsDefault = true
ТАКЖЕ Может быть несколько "мобильных" записей PersonContact для человека