コード例 #1
0
ファイル: OrderingFinder.cs プロジェクト: dax70/EntityQuery
 private static void NeedsOrdering(OrderingFinder finder, MethodCallExpression node)
 {
     if (QueryableUtility.IsOrderingMethod(node))
     {
         finder.NeedsOrderBy = false;
         finder.state = Finish;
     }
 }
コード例 #2
0
ファイル: OrderingFinder.cs プロジェクト: dax70/EntityQuery
 private static void Start(OrderingFinder finder, MethodCallExpression node)
 {
     if (methods.Any(m => m.Equals(node.Method.Name)))
     {
         finder.NeedsOrderBy = true;
         finder.state = NeedsOrdering;
     }
 }
コード例 #3
0
ファイル: OrderingFinder.cs プロジェクト: dax70/EntityQuery
 private static void NeedsOrdering(OrderingFinder finder, MethodCallExpression node)
 {
     if (QueryableUtility.IsOrderingMethod(node))
     {
         finder.NeedsOrderBy = false;
         finder.state        = Finish;
     }
 }
コード例 #4
0
ファイル: OrderingFinder.cs プロジェクト: dax70/EntityQuery
 private static void Start(OrderingFinder finder, MethodCallExpression node)
 {
     if (methods.Any(m => m.Equals(node.Method.Name)))
     {
         finder.NeedsOrderBy = true;
         finder.state        = NeedsOrdering;
     }
 }
コード例 #5
0
ファイル: OrderingFinder.cs プロジェクト: dax70/EntityQuery
 internal static bool NeedsOrderMethod(Expression expression)
 {
     OrderingFinder finder = new OrderingFinder
     {
         NeedsOrderBy = false
     };
     finder.Visit(expression);
     return finder.NeedsOrderBy;
 }
コード例 #6
0
ファイル: OrderingFinder.cs プロジェクト: dax70/EntityQuery
        internal static bool NeedsOrderMethod(Expression expression)
        {
            OrderingFinder finder = new OrderingFinder
            {
                NeedsOrderBy = false
            };

            finder.Visit(expression);
            return(finder.NeedsOrderBy);
        }
コード例 #7
0
ファイル: OrderingFilter.cs プロジェクト: dax70/EntityQuery
 public Expression Visit(IQueryable query)
 {
     if (OrderingFinder.NeedsOrderMethod(query.Expression))
     {
         // Create Ordered at root and combine both queries.
         var orderedQuery = query.OrderBy(this.propertyAccessor.GetAccessor <T>());
         return(QueryComposer.Compose(orderedQuery, query).Expression);
     }
     return(query.Expression);
 }