Здравствуйте, IT, Вы писали:
IT>В том то и дело, что у меня нет GetCustomerByID. Я не создаю микрометодов с бизнес логикой. Даже миниметодов не создаю. Если в двух местах часть бизнес логики потребует GetCustomerByID, то я в двух местах напишу
IT>IT>db.Customer.FirstOrDefault(c => c.CustomerID == id);
IT>
IT>А когда мне в одном из мест понадобится внести изменение, то я даже не буду думать в каких там местах у меня похожий код. Я просто где надо напишу:
IT>IT>db.Customer.OrderBy(c => FirstName).FirstOrDefault(c => c.CustomerID == id);
IT>
А как в linq2db по части кеширования? Он обеспечивает хотя бы First-level cache — ну вот как раз для случаев когда в пределах одной сессии вызываются оба запроса выше запрашивая объект с одним и тем же идентификатором? Иначе при всем удобстве "даже не буду думать в каких там местах у меня похожий код", эффективность такого подхода кажется будет невысока. Понятно, что оптимизация это дело не первое (и не второе
), интересут в принципе, есть ли поддержка кеширования "out-of-the-box" в linq2db.