2015-10-15 4 views
0

Вот мой вопрос. У меня есть 2 модели (Person, Event), а с EF и modelbuilder я создаю таблицу бронирования (с IdPerson и IdEvent как свойствами). Так что в моей БД это правильно, у меня есть 3 стола (Person, Event and Booking) со многими для многих отношений. Но у меня есть только 2 модели в Visual Studio (бронирование не существует из-за самогенерируемой таблицы). С моим контроллером я хочу написать действие для Лица, чтобы подписаться на мероприятие, и я должен написать на своем столе. Бронирование в БД, но оно не существует как модель, поэтому я не могу этого сделать. Как я должен продолжать? Должен ли я создать модель бронирования и удалить мой конструктор?Entity Framework со многими для многих отношений generetad tables

+0

Человек должен иметь EventList (List ), добавить событие, которое вы хотите подписаться на этот список – Domysee

+0

я уже это, но мой вопрос, как может Я имею доступ к заказу таблицы в моей БД, если он не существует как класс (модель). В моем контроллере мне нужно сделать действие, которое получает идентификатор от Person и id из Event, а затем записывает его в db-таблицу. Бронирование как новое бронирование. – Xr4y

ответ

0

Когда вы используете ORM, такие как EF, вы можете сидеть сложа руки и позволить ORM управлять этими средними таблицами.

Вы можете использовать

person.Events.Add(event)

или

event.People.Add(event)

и EF обрабатывает все и вставляет строку с personId и eventId в этой таблице.

Здесь вы можете найти полный образец: http://blogs.msdn.com/b/wriju/archive/2011/05/14/code-first-ef-4-1-building-many-to-many-relationship.aspx

+0

Большое спасибо, я попробую – Xr4y

+0

Я понял концепцию, но как я могу получить идентификатор от пользователя, которого хочу разместить в своей EventModel? – Xr4y

+0

Другими словами, у меня есть Personne with UserId, который подключен, и мне нужно получить идентификатор, чтобы оформить заказ – Xr4y

0

Я предполагаю, что это первый подход к модели.

Причина наличия только двух объектов заключается в том, что по умолчанию EF не создает объекты для совместных таблиц. Создается свойство Navigation (Entity Framework - Navigation Property Basics). В сценарии «один ко многим» свойство навигации внутри родительского объекта содержит коллекцию объектов в таблице за границей/дочерним элементом. В сценарии «многие ко многим» свойства навигации для каждого объекта будут просто содержать коллекции других его объектов.

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