Как я могу сделать Linq to SQL как отношения с объектами класса? - PullRequest
0 голосов
/ 11 февраля 2010

Прямо сейчас я могу сделать это с Linq to SQL

Response.Write (car.models (0) .makes (2) .model.car.ID)

конечно, вы бы на самом деле не делали именно этого, но я показываю, как я могу идти вверх и вниз по цепочке отношений

Теперь я хочу сделать то же самое с простыми объектами класса, которые не заполняются данными из какого-либо другого источника, но я не могу перейти "назад" ...

response.write (car.models (0) .makes (2) ... Я не могу вернуться сюда обратно к машине, поэтому мой вопрос: как я могу заставить это сделать это? сначала заполнить набор данных или что-то еще?

1 Ответ

0 голосов
/ 15 февраля 2010

Для операций такого типа вам, как правило, придется сгладить структуру данных, поскольку у вас есть отношение один ко многим. В LINQ это обычно выполняется с помощью метода расширения SelectMany или, если вы предпочитаете синтаксис запроса, например:

var query = 
    from car in cars
    from model in c.models
    from make in model.makes
    select new { Car = car, Model = model, Make = make };

В результате вы пройдете по «дереву», позволяя вам обрабатывать элементы по одному для каждого пути вниз по дереву иерархии объектов.

...