static SelectionModel BuildModel(Expression X, params SelectionFacet[] facets) { var builder = new SelectionModelBuilder(X); var selection = new MemberSelection(builder.selections); var order = builder.orders.Count != 0 ? some(new MemberOrdering(builder.orders)) : none <MemberOrdering>(); iter(builder.junctions, j => j.Flatten()); var model = new SelectionModel(X, selection, order, builder.junctions, facets); return(model); }
public static SelectionModel BuildSelectionModel<T>(this IQueryable<T> queryable, params SelectionFacet[] facets) => SelectionModelBuilder.CreateModel(queryable);