Проблема
Допустим у Вас есть объект LINQ, сопоставленный какой-то таблице, например Site и есть свойства этого объекта, хранящиеся в другой таблице, которые представлены свойством InterfaceSetting.
Вы выбираете сам объект, например так:
var q = from site in DB.Sites
where site.id == (Guid)Session["SiteID"] select site; CurrentSite = q.Single();
Потом Вы обращаетесь к свойству CurrentSite.InterfaceSettings, при этом LINQ делает еще один запрос в базу, чтобы вытянуть связынный объект.
Путь решения проблемы
Если по логике приложения эта связь используется часто, то логично было бы сразу запрашивать связанный объект в одном запросе с основным. Это можно сделать при помощи LoadOptions объекта DataContext, например так:
partial class DBDataContext
{ partial void OnCreated() { var load_options = new DataLoadOptions(); // Настройки интерфейса всегда загружаем сразу вместе с сайтом, одним запросом к базе load_options.LoadWith<Site>(site => site.InterfaceSetting); LoadOptions = load_options; } }