Как добавить создание и редактирование представления в модель с помощью свойств IEnuernation‹T›?

скажем, я использую Entity Framework 6 и имею следующие две таблицы в подходе, ориентированном на модель:

введите здесь описание изображения

Это создает следующий код:

введите здесь описание изображения

введите здесь описание изображения

Теперь у меня вопрос: как использовать свойства IEnumeration в Create View? В представлении «Подробности» или «Удалить» я просто перебираю их с помощью помощника Html.DisplayFor, но я не знаю, что я мог бы использовать для достижения сопоставимого представления для создания и редактирования. Что-то вроде этого:

<div class="form-group">
    @Html.LabelFor(model => model.MappedEmployees, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        <!--Something like checkbox list with Name property of each collection property item-->
    </div>
</div>

Итак, я бы закончил с чем-то вроде:

введите здесь описание изображения


person LeonidasFett    schedule 23.01.2016    source источник
comment
Это скорее вопрос бритвы MVC, чем EF.   -  person Steve Greene    schedule 23.01.2016
comment
Вы хотите отобразить всех сотрудников, а затем использовать флажок, чтобы выбрать тех, кто связан с учетной записью?   -  person    schedule 27.01.2016
comment
да, именно этого я и добиваюсь...   -  person LeonidasFett    schedule 27.01.2016
comment
См. этот ответ для пример (вместо пользователя и ролей это будет учетная запись и сотрудники)   -  person    schedule 28.01.2016


Ответы (1)


На эту тему есть несколько хороших сообщений в блогах, они должны быть вам полезны в этой области:

публикация в блоге haacked.com

публикация в блоге Hanselman.com

Я не тестировал ниже, но что-то вроде этого:

<div class="form-group">
    @Html.LabelFor(model => model.MappedEmployees, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">

@for(int i = 0; i < model.MappedEmployees.Count; i ++)
{
Html.CheckBoxFor(model => model.MappedEmployees[i],  new { htmlAttributes = new { @class = "form-control" } })
}

    </div>
</div>
person Tim Snow    schedule 23.01.2016
comment
кажется, мне нужно логическое значение для параметра выражения конструктора CheckBoxFor. Однако я не знаю, как заставить его работать, чтобы он мог добавлять/удалять элементы из моего свойства ICollection. - person LeonidasFett; 23.01.2016