.net mvc 3 как работать с небольшим графом объектов - PullRequest
0 голосов
/ 27 февраля 2012

я настоящий новичок в asp.net mvc 3 с бритвой и EntityFramework 4.1
Для того, чтобы попрактиковаться в небольшом проекте, я решил сделать небольшой проект с ним. Это заявка на онлайн-регистрацию.Передача простых данных для просмотра с использованием ViewBag и использование Visual Studio для создания экшена / представления было неплохо.Но есть ситуация, когда мне интересно, должен ли я создавать форму с нуля и передавать каждое свойство в действие с тем же числом аргументов, что и у свойств (как мы это делаем при использовании php или spring mvc), или доверять .netMVC для построения графика для меня.

У меня есть связь один к нулю или один между пользователем и профилем, одна ко многим между профилем и регистрацией.У регистрации есть однонаправленная связь один на один с семестром, а у семестра есть много к одному с дисциплиной

User         1..0  Profile
Profile         1.*   Registration
Registration 1.1   Semester
Semester     *.1   Discipline

У меня есть место для отображения учеников, и когда пользователь нажимает на ссылки в реестре, он переходит на страницу /Registration/Create/{DisciplineID}, гдеЯ выбираю соответствующие семестры для отображения в виде выпадающего списка.Предполагается, что в этом представлении создания почти (кроме date_Created и ID) есть все поля «Пользователь», «Профиль», «Регистрация» (семестр должен быть выбран из выпадающего списка).

В основном для этого вида необходимо иметь 3 модели: пользователь, профиль, код регистрации / код Semeter доступны для pastie

Вопрос 1 : как этоЛучшая практика для моего сценария

Вопрос 2 : как разместить все модели в одном представлении

Вопрос 3 Можно ли сохранитьвесь граф объектов?

РЕДАКТИРОВАТЬ:

с этой структурой данных я хотел бы иметь возможность создать форму с большинством всего необходимого для моего графа объектов и иметьпонимание того, как с этим справиться в [HttpPost] Create Действие:

 /*User Model section*/
   txtbox for email
 /*Profile Model section*/
   txtbox for first_name
   txtbox for last_name
   ....
 /* Registration Section */

   dropdownlistfor Semesters
 /* Payment model section  keeping in mind that one-to-many with Registration*/
    dropdownlist for payment type (maybe from enumeration)
     txtbox for Amount
    ....

Спасибо за чтение

1 Ответ

0 голосов
/ 27 февраля 2012

Если вы получаете пользователя, вы можете получить все остальное (при условии, что у пользователя есть профиль).

from user in db.User where userid == id select user;

Оттуда вы можете перейти к user.Profile или user.Profile.Registrations, изтам вы получаете все регистрации и получаете семестры от этого.

...