Ладно, это казалось простым, но у меня кружится голова.
Я создал модели на основе CodeFirst.
public class Category
{
public int ID { get; set; }
[StringLength(255, MinimumLength = 1)]
public string Name { get; set; }
}
public class SubCategory
{
public int ID { get; set; }
public Category category { get; set; }
[StringLength(255, MinimumLength = 1)]
public string Name { get; set; }
}
Теперь, когда я автоматически генерирую контроллер и вижуПодкатегория это (из коробки) позволяет мне создавать новые объекты Подкатегории без указания категории (даже через нее правильно создает отношение внешнего ключа к таблице категории в БД).
Так что я, хотя и хорошо, я просто опущу выпадающий список в файле create.cshtml и заставлю его использовать это.
Через некоторое время мне удастся добавить это в контроллер:
public ActionResult Create()
{
ViewBag.Categories = new SelectList(db.Category.ToList(),"ID","Name");
return View();
}
и этона вид:
@Html.DropDownList(model => model.category, "Categories")
Но теперь объект не перехватывает автоматически, что я хочу использовать это для моего внешнего ключа, поэтому, когда я останавливаю код в методе POST, он все равно отображает объект с NULL вполе категории.
Полагаю, мой вопрос двоякий.Как мне это сделать?и если мой метод до сих пор не верен, что мне не хватает?
Я просто хочу, чтобы новый объект, сохраненный в таблице SubCategory, включал внешний ключ для Category.
Надеюсь, что это делаетчувство.