Получение нескольких объектов Model из соединений LINQ - PullRequest
0 голосов
/ 26 октября 2010

Я использую ASP.NET MVC framework и получаю доступ к записям БД с помощью Entities.Я делаю некоторые объединения, как это:

public IQueryable<...> GetThem()
{
    var ords = from o in db.Orders 
              join c in db.Categories on o.CategoryID equals c.ID 
              select new {Order=o, Category=c};

    return ords;
}

Мне нужно использовать / передавать 'ords' из одной функции в другую строго типизированным образом(Я буду делать такого рода объединения в нескольких местах.)

Каков наилучший способ сделать это?Нужно ли создавать новый класс, содержащий оба возвращаемых значения для каждого соединения, которое я делаю?Например: публичный класс OrderAndCategory {публичный порядок;публичная категория;} в этом случае.

Есть ли более простой способ?

Спасибо!

1 Ответ

0 голосов
/ 26 октября 2010

Класс, представляющий данные в ords, строго типизирован, он генерируется компилятором. Однако вы можете столкнуться с проблемами, если компилятор генерирует разные классы для разных экземпляров запроса, но с одинаковыми типами. Вы должны это проверить. В этом случае вам придется создавать классы для каждого отдельного запроса или использовать класс Tuple<Targs...>.

...