Бросьте меня и представьте следующий пример:
Public ViewResult GiveMeFruit(int personId, string personName, int personAge, int fruitId){
Person person = PersonService.GetPerson(personId);
person.Name = personName;
person.Age = age;
person.Fruits.Add(FruitService.GetFruit(fruitId));
ViewData.Person = person;
View(ViewData);
}
Это должно быть сделано лучше, как так
Public ViewResult GiveMeFruit(Person person, IFruit fruit){
person.Fruits.Add(fruit);
ViewData.Person = person;
View(ViewData);
}
Я пробовал правильное связывание моделей ранее, но не смог заставить его работать должным образом. Все примеры показывают, как это работает с одним чрезвычайно простым типом, а не с несколькими сложными типами. Как связующий может узнать, какое поле для какого типа? Что если есть фрукты1 и фрукты2? Как связыватель узнает, какой конкретный тип использовать для моего интерфейса IFruit?
Кроме того, мне интересно, как это будет работать, если я захочу подарить мне много фруктов.