Добавление результатов двух запросов в ViewData.Model - PullRequest
1 голос
/ 19 января 2009

У меня в контроллере следующий код:

    public ActionResult Details(int id)
    {
        var dataContext = new BuffetSuppliersDBDataContext();
        var supplier = (from m in dataContext.BO_Suppliers 
                        where m.SupplierID == id
                        select m).FirstOrDefault();

        ViewData.Model = supplier;

        return View();
    }

Отображает представление, которое содержит свойства, возвращаемые запросом linq to sql. Теперь мне нужно добавить еще один запрос, который будет возвращать количество оценок x для каждого поставщика, затем я просмотрю записи в представлении и покажу оценки.

Как я могу выдвинуть результаты моего запроса на рейтинг вместе с тем, что уже есть?

1 Ответ

1 голос
/ 19 января 2009

Ваш лучший вариант - создать класс, который вы можете передать в ваше представление.

public class SupplierDetail
{
    public Supplier { get; set; }
    public SupplierRating { get; set; }
}

public class SupplierDetailViewData
{
    public IEnumerable<SupplierDetail> SupplierDetails { get; set; }
}

Затем в вашем действии контроллера используйте соединение и выберите новый класс SupplierDetail в запросе LINQ. После этого вы можете создать строго типизированное представление, используя выделенный код и изменив его на следующее ...

public partial class Details : ViewPage<SupplierDetailViewData>
{
}

После этого, по вашему мнению, ViewData.Model будет SupplierDetailViewData. Конечно, вторая часть не обязательна, но она помогает улучшить проверку во время компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...