/// <summary> /// Executes the strongly-typed query represented by a specified expression tree. /// </summary> /// <returns> /// The value that results from executing the specified query. /// </returns> /// <param name="entry"></param> /// <param name="expression">An expression tree that represents a LINQ query.</param><typeparam name="TResult">The type of the value that results from executing the query.</typeparam> public virtual TResult Execute <TResult>(EntryObject entry, Expression expression) { var queryState = new EntryQueryState(Context, typeof(TResult), expression); var directoryExpression = queryState.GetSingleResultExpression(); return(Context.QueryExecutor.Execute <TResult>(entry.Entry, _scope, directoryExpression)); }
internal protected EntryQuery(IQueryProvider provider, EntryQueryState queryState) { if (queryState == null) { throw new ArgumentNullException("queryState"); } if (provider == null) { throw new ArgumentNullException("provider"); } _queryState = queryState; _provider = provider; }
internal protected EntryQuery(EntryQueryState queryState) { _queryState = queryState; }