ASP.NET MVC 2: вернуть несколько объектов? - PullRequest
0 голосов
/ 03 декабря 2010
List<Filter> filters;
List<Deal> deals;
using (DealDataContext db = new DealDataContext())
{
    XElement xmlTree = XElement.Parse("<Request><ZipCode>92618</ZipCode></Request>");
    var result = db.SearchDeals(xmlTree);

    filters = result.GetResult<Filter>().ToList();
    deals = result.GetResult<Deal>().ToList();

}

return filters, deals;

Каков наилучший способ вернуть более одного объекта?

Ответы [ 2 ]

4 голосов
/ 03 декабря 2010

Создать ViewModel искать лучшие практики . Ваш случай -

public class DealViewModel
{
List<Filter> filters{get; set;}
List<Deal> deals{get; set;}
}

Функция -

DealViewModel vm= new DeakViewModel();

using (DealDataContext db = new DealDataContext())
{
    XElement xmlTree = XElement.Parse("<Request><ZipCode>92618</ZipCode></Request>");
    var result = db.SearchDeals(xmlTree);

    vm.filters = result.GetResult<Filter>().ToList();
    vm.deals = result.GetResult<Deal>().ToList();
    return vm;

}
1 голос
/ 03 декабря 2010

Создайте класс, который объединяет оба объекта в один.Затем верните объект-оболочку.

public class Wrapper
{
   List<Filter> Filters { get; set; }
   List<Deal> Deals { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...