Мне нравится получать данные с быстрой загрузкой, используя Linq2SQL. Код похож на:
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<Product>(c => c.ProductCompanies);
options.LoadWith<Product>(c => c.OrderDetails);
db.LoadOptions = options;
IEnumerable<Product> products = db.Products.ToList<Product>();
Я проверяю, что он сгенерировал более 1 запроса SQL, как я и ожидал. На самом деле он загружается только с Product и OrderDetails, и ProductCompany запрашивается по одному. Я сделал что-то не так здесь? Или это проблема Linq2SQL? Есть ли у нас обходной путь?
Большое спасибо!
Обновление:
Я проверяю sql от SQL Profiler. Я обнаружил, что Леппи и Ян верны. Они ограничены одной транзакцией. Но когда я установил ленивую загрузку, он открыл несколько соединений.