示例#1
0
        /// <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));
        }
示例#2
0
 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;
 }
示例#3
0
 internal protected EntryQuery(EntryQueryState queryState)
 {
     _queryState = queryState;
 }