Файл MVC, c # .edmx — добавление нового контроллера

#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