linq-запрос к элементам с коллекциями
От: VetalPPC  
Дата: 25.02.11 18:54
Оценка:
Прошу не обижаться если такой вопрос уже освещался.
Никак не могу найти информацию. Может хоть на ключевые слова натолкнете.
Есть в БД две таблицы со связью один ко многим. После link-запроса получаю элементы первой таблицы с подколлекциями в кач-ве свойств (например Costumer.Orders). Вопрос в том как построить запрос чтобы получить все элементы со всеми подколлекциями и при этом в будущем при обращении к этим подколлекциям не происходил запрос в БД.

Например:

var costumers = Data.Costumers.ToList();
foreach(var item in costumers)
{
    var orders = costumer.Orders;
}


Заранее спасибо.
Re: linq-запрос к элементам с коллекциями
От: Lloyd Россия  
Дата: 25.02.11 19:00
Оценка:
Здравствуйте, VetalPPC, Вы писали:

VPP>Есть в БД две таблицы со связью один ко многим. После link-запроса получаю элементы первой таблицы с подколлекциями в кач-ве свойств (например Costumer.Orders). Вопрос в том как построить запрос чтобы получить все элементы со всеми подколлекциями и при этом в будущем при обращении к этим подколлекциям не происходил запрос в БД.



Что используете для доступа к базе — Linq2Sql или EF?
Re: linq-запрос к элементам с коллекциями
От: RushDevion Россия  
Дата: 25.02.11 19:03
Оценка: 2 (1) +1
//Для Linq2SQL
using (var db = new MyContext())
{           
    var options = new DataLoadOptions();    
    options.LoadWith<Customer>(c => c.Orders);  
    var query = from c in context.Customers select c;
}

//Для EF
var query = from c in context.Customers.Include("Orders") select c;
Re[2]: linq-запрос к элементам с коллекциями
От: RushDevion Россия  
Дата: 25.02.11 19:27
Оценка:
Чет я не то написал. Забыл для LINQ2SQL:

db.LoadOptions = options; 
var query = from c in context.Customers select c;
Re[3]: linq-запрос к элементам с коллекциями
От: VetalPPC  
Дата: 26.02.11 10:33
Оценка:
Всем большое спасибо! Очень помогли.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.