2013-04-10 4 views
0

У меня есть следующие таблицы на моей БД:Edit Model от Entity Framework

Users: 
    id 
    userName 
    pass 

    1 
    | 
    * 

Users_Groups: 
    id_user 
    id_group 
    delegate(bool) 

    * 
    | 
    1 

Groups: 
    id 
    GroupName 
    ... 

Im используя рамки сущности, чтобы создать модель, используя адд> модель EF данные ... селектина в 3 таблицы ... адресности в EDMX-файл

, но я получаю модели:

-Users 
-users_Groups 
-Groups 

и я просто хочу

-Users 
-Groups (whit the delegate value) 

Как я могу отредактировать модель или как я могу создать новую модель для этого?

+0

Попробуйте это ссылка: http://www.em64t.net/2011/03/organizing-view-models-in-asp-net-mvc-part-3-of-3/ –

+1

Дизайнер не удалит таблицу соединений из-за столбца делегата, который у вас есть в ваших таблицах. Обратите внимание, что то, что у вас есть в базе данных, состоит в том, что столбец делегата описывает корабль отношения (потому что он находится в таблице соединений), но вы хотите изменить его, чтобы описать группы в вашей модели, которые не эквивалентны семантически. Я не уверен, что то, что вы пытаетесь сделать, даже возможно достичь - например. что должно произойти, если у вас есть только сущность группы с набором свойств делегата? Как предполагается, что свойство будет сохранено в базе данных, если вам не хватает значения id_user? – Pawel

ответ

0

Свойство Делегат логически описывает группу или пользователя? Или комбинация User-Group?

В вашей модели указано, что это свойство комбинации User-Group, и таким образом комбинация User-Group становится собственной сущностью, поскольку она имеет свойства, отличные от двух внешних ключей.

Если ваша группа логически имеет одного (и только одного) пользователя в качестве ее делегата, то вы должны добавить UserId в качестве свойства внешнего ключа для Группы. Если многие пользователи могут быть делегатами для многих групп, то это должно быть либо сейчас (отдельный объект UserGroup с свойством Delegate), либо вы можете иметь две таблицы объединений, которые описывают обычных пользователей группы, а другую, которая описывает делегаты.

Смежные вопросы