У меня есть следующий сценарий:
У меня есть Contact
со свойствами FirstName
и LastName
.Контакт может иметь несколько PhoneNumbers
и столько же EmailAddresses
.Я определил их как 3 сущности с общими отношениями.Пожалуйста, смотрите определения таблиц ниже:
create table Contact
(
ID int primary key not null identity(1,1),
FirstName nvarchar(40),
LastName nvarchar(40)
);
go
create table ContactNumber
(
ID int primary key not null identity(1,1),
PhoneNumber nvarchar(40)
);
go
create table EmailAddress
(
ID int primary key not null identity(1,1),
EmailAddress nvarchar(40)
);
go
create table UserContact
(
ID int primary key not null identity(1,1),
ContactID int foreign key references Contact(ID),
ContactNumberID int foreign key references ContactNumber(ID),
EmailID int foreign key references EmailAddress(ID)
);
go
Теперь мне нужно отобразить этих пользователей в веб-приложении по моему выбору.Я выбрал C # MVC с Razor Engine для просмотра.Я сражаюсь, чтобы смоделировать это представление в таблице.Таблица нуждается в Action Links для редактирования, удаления, создания нового контакта и просмотра информации о контакте.Я хочу, чтобы набор результатов отображался следующим образом:
FirstName | LastName | ContactNumber | EmailAddress
-------------------------------------------------------
James | Smith | 082 111 5454 | james@domain1.com | edit | details | delete
| james@domain2.com
| james@domain3.com
--------------------------------------------------------
Luther | Arnolds | 082 111 5455 | luther@domain1.com | edit | details | delete
| 082 111 5456 |
--------------------------------------------------------
Sarah | Jones | 082 111 5510 | sarah@domain.com | edit | details | delete
---------------------------------------------------------
| | |
Однако я просто не нахожу способ записи для перевода столбцов ContactNumberID
и EmailID
из UserContact
в сопоставление из соответствующих мостов.столы.Проблема, с которой я сталкиваюсь сейчас, заключается в том, что она дублирует записи в UserContact
, в результате чего таблица содержит много избыточных данных.Например, запись для James Smith
будет повторяться 3 раза.Как я могу добиться этого в ASP.Net MVC без дублирования записей?