#asp.net-mvc #controller
#asp.net-mvc #контроллер
Вопрос:
Я добавляю новый контроллер, который использует несколько таблиц. Я добавил эти таблицы в файл .edmx. В диалоговом окне «Добавить новый контроллер» запрашивается класс модели. Я вижу 3 таблицы, которые я поместил в .edmx, но не уверен, какую из них выбрать или есть ли способ выбрать модель, которая является консолидированной версией этих 3 таблиц.
Комментарии:
1. Вам действительно нужно предложить общепринятый ответ на некоторые из ваших вопросов.
Ответ №1:
Здесь в игру вступает модель представления. Прежде всего создайте модель представления, содержащую свойства для 3 моделей, которые вы хотите отобразить в своем представлении:
public class FakeViewModel
{
public Product Product { get; set; }
public Company Company { get; set; }
public User User { get; set; }
}
В вашем контроллере создайте новый экземпляр модели представления и заполните его соответствующим образом. НАПРИМЕР:
public ActionResult FakeAction(int id)
{
var product = _repository.Get<Product>(id);
var company = _repository.Get<Company>();
var user = _repository.Get<user>();
var model = new FakeViewModel{
Product = product,
Company = company,
User = user
};
return View(model);
}
В вашем представлении теперь у вас будет строго типизированное представление для FakeViewModel .
Комментарии:
1. Я попытался добавить класс в папку Models . Я получаю длинные строки после слова, которое идет после Public . В вашем примере это будет Public, Company, User Я заменил то, что у вас есть, своими собственными таблицами.
2. Кроме того, в моем классе единственное, что мне нужно, чтобы добавить что-то вроде того, что у вас есть выше, или это более необходимо? Имейте в виду, что я заменил имеющиеся у вас таблицы своими собственными таблицами.
3.Я бы порекомендовал вам взглянуть на примеры приложений music store или nerd dinner и ознакомиться с руководствами по началу работы с mvc: nerddinner.codeplex.com mvcmusicstore.codeplex.com asp.net/mvc/tutorials