public SelectClauseBuilder(Expression source, LambdaScope lambdaScope, IModel entityModel, Type extensionType, LambdaParameterNameFactory nameFactory, IResourceFactory resourceFactory, IResourceContextProvider resourceContextProvider) : base(lambdaScope) { _source = source ?? throw new ArgumentNullException(nameof(source)); _entityModel = entityModel ?? throw new ArgumentNullException(nameof(entityModel)); _extensionType = extensionType ?? throw new ArgumentNullException(nameof(extensionType)); _nameFactory = nameFactory ?? throw new ArgumentNullException(nameof(nameFactory)); _resourceFactory = resourceFactory ?? throw new ArgumentNullException(nameof(resourceFactory)); _resourceContextProvider = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider)); }
public QueryableBuilder(Expression source, Type elementType, Type extensionType, LambdaParameterNameFactory nameFactory, IResourceFactory resourceFactory, IResourceContextProvider resourceContextProvider, IModel entityModel, LambdaScopeFactory lambdaScopeFactory = null) { _source = source ?? throw new ArgumentNullException(nameof(source)); _elementType = elementType ?? throw new ArgumentNullException(nameof(elementType)); _extensionType = extensionType ?? throw new ArgumentNullException(nameof(extensionType)); _nameFactory = nameFactory ?? throw new ArgumentNullException(nameof(nameFactory)); _resourceFactory = resourceFactory ?? throw new ArgumentNullException(nameof(resourceFactory)); _resourceContextProvider = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider)); _entityModel = entityModel ?? throw new ArgumentNullException(nameof(entityModel)); _lambdaScopeFactory = lambdaScopeFactory ?? new LambdaScopeFactory(_nameFactory); }
public LambdaScope(LambdaParameterNameFactory nameFactory, Type elementType, Expression accessorExpression, HasManyThroughAttribute hasManyThrough) { _parameterNameScope = nameFactory.Create(elementType.Name); Parameter = Expression.Parameter(elementType, _parameterNameScope.Name); if (accessorExpression != null) { Accessor = accessorExpression; } else if (hasManyThrough != null) { Accessor = Expression.Property(Parameter, hasManyThrough.RightProperty); } else { Accessor = Parameter; } HasManyThrough = hasManyThrough; }
public LambdaParameterNameScope(string name, LambdaParameterNameFactory owner) { _owner = owner ?? throw new ArgumentNullException(nameof(owner)); Name = name ?? throw new ArgumentNullException(nameof(name)); }
public LambdaScopeFactory(LambdaParameterNameFactory nameFactory, HasManyThroughAttribute hasManyThrough = null) { _nameFactory = nameFactory ?? throw new ArgumentNullException(nameof(nameFactory)); _hasManyThrough = hasManyThrough; }