MVC 4 Простое заполнение DropDown из модели базы данных

Я чувствую себя немного глупо.

Я пытаюсь освоить MVC 4, используя бокс в качестве функционального примера.

У меня есть WeightCategories в базе данных (Heavyweights и т. Д.) И Boxers.

1111 Кажется простым. Отношение боксер имеет текущую весовую категорию, но когда я редактирую, я хочу, чтобы он мог изменить его с помощью раскрывающегося списка.

Я понимаю, как это сделать, если это список, который я сам создал в коде, но у меня проблемы с пониманием, как «загрузить» список из таблицы WeightCategory и показать его в виде / модели боксер.

Итак, вот мой код для элемента WeightCategory:

[Table("WeightCategories")]
public class WeightCategory
{
    [Key]
    public int WeightCategoryId { get; set; }

    public WEIGHT_CATEGORIES WeightCategoryType { get; set; }

    [Display(Name = "Weight Category Name")]
    [Required]
    [MinLength(5)]
    public string Name { get; set; }
    [Display(Name = "Weight Limit In Pounds")]        
    public int? WeightLimit { get; set; }
}

Вот код для элемента боксера

[Table("Boxers")]
public class Boxer
{
    [Key]
    public int BoxerId { get; set; }

    public WeightCategory CurrentWeightCategory { get; set; }

    [Required]
    public string Name { get; set; }
    public int Wins { get; set; }
    public int Losses { get; set; }
    public int Draws { get; set; }
    public int Kayos { get; set; }
}

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

Что-то подобное в представлении в конце:

@Html.DropDownListFor(model => model.CurrentWeightCategory.WeightCategoryId,
                      new SelectList(Model.WeightCategories, "WeightCategoryId", "Name", 
                                     Model.WeightCategories.First().WeightCategoryId))

Спасибо!

8
задан nawfal 2 June 2013 в 19:39
поделиться