Я использую linq для nhibernate и функцию IQueryable.Where в приложении, которое я создаю. И что меня удивляет, так это то, как Expression
s, которые я создаю и передаю функции Where из INhibernateQueryable, влияет на производительность.
Я не совсем уверен, каких ошибок я должен избегать при написании этих выражений запросов, с точки зрения производительности. Если я передам выражение с вызовом функции вроде:
CurrentSession.Linq<ENTITY>().Where(x => x.IsBuyOrder && CheckVariousProperties(x))
Будет ли извлекаться каждая запись where IsBuyOrder = true
и затем вызываться для них функция CheckVariousProperties
, как только отложенное выполнение больше не будет отложено?
Как вызовы функций влияют на производительность LinqToNhibernate?
Каких вещей следует избегать в выражении запроса LINQ to Nhibernate?