Многие ко многим флажок и MVC - PullRequest
1 голос
/ 15 марта 2011

Я использую Entity Framework 4, и мои отношения модели автоматически генерируются из таблицы поиска. Мои модели состоят из Request и Building. У запроса может быть много зданий, и здание может быть связано со многими запросами. Я нашел несколько сообщений о том, как DropDownFor автоматически выбирает элемент, основываясь на модельных отношениях. Но HtmlHelper CheckBoxFor хочет выражение, которое возвращает bool. В моих моделях не указано значение bool, поскольку оно основано на отношениях.

У кого-нибудь есть советы или опыт?

1 Ответ

2 голосов
/ 15 марта 2011

Не передавайте свои модели EF на просмотр.Определите модели представлений, которые являются классами, специально разработанными для нужд данного представления.Вам не нужно много ко многим рекурсивных отношений в представлении.Таким образом, в случае, если вы хотите создать флажок, у вас будет соответствующее логическое свойство в вашей модели представления.Это контроллер, который будет запрашивать хранилище, извлекать модели EF, сопоставлять их с моделью представления (эту задачу можно упростить с помощью таких структур, как AutoMapper ) и, наконец, передавать модель представления в представление, чтобы вваше представление вы просто:

@Html.CheckBoxFor(x => x.SomeBooleanProperty)

И если вы хотите иметь список флажков, то ваша модель представления будет содержать свойство коллекции некоторого типа, которое будет содержать логическое свойство.

...