/// <summary> /// Initializes a new instance of the <see cref="FilterableQueryBase" /> class. /// </summary> /// <param name="alias"> /// The alias. /// </param> /// <param name="query"> /// The query. /// </param> protected FilterableQueryBase ( string alias = null, IFilterableQuery query = null ) { if (query != null) { Aliases = query.Aliases.ToDictionary(x => x.Key, x => x.Value); Criterions = query.Criterions.ToList(); Joins = query.Joins.ToList(); } else { Aliases = new Dictionary <string, string>(); Criterions = new List <ICriterion>(); Joins = new List <Join>(); if (alias != null) { Aliases.Add("entity.root.alias", alias); } } Alias = alias; Data = new QueryHelperData(Aliases, Joins); }
/// <summary> /// Initializes a new instance of the <see cref="DelegatedJoinBuilder{T,TSource,TQuery}" /> class. /// </summary> /// <param name="joinBuilder"> /// The wrapped join builder instance. /// </param> /// <param name="query"> /// The query instance. /// </param> /// <param name="alias"> /// The alias. /// </param> /// <exception cref="ArgumentNullException"> /// The wrapped join builder instance is a null-reference. /// </exception> public DelegatedJoinBuilder ( IJoinBuilder <TSource, TQuery> joinBuilder, IFilterableQuery <T> query, string alias ) { if (joinBuilder == null) { throw new ArgumentNullException("joinBuilder"); } if (query == null) { throw new ArgumentNullException("query"); } _alias = alias; _joinBuilder = joinBuilder; _query = query; _rebaser = new ExpressionRebaser(typeof(T), _alias); }
private static WrappedJoinBuilder <T, IImmediateFlowQuery <T> > CreateWrappedJoinBuilder <T> ( IJoinBuilder <T, IImmediateFlowQuery <T> > innerJoinBuilder, IFilterableQuery <T> query ) { return(new WrappedJoinBuilder <T, IImmediateFlowQuery <T> >(innerJoinBuilder, query)); }
private static DelegatedJoinBuilder <T, TSource, IImmediateFlowQuery <TSource> > CreateDelegatedJoinBuilder <T, TSource> ( IJoinBuilder <TSource, IImmediateFlowQuery <TSource> > innerJoinBuilder, IFilterableQuery <T> query, string alias ) { return(new DelegatedJoinBuilder <T, TSource, IImmediateFlowQuery <TSource> >(innerJoinBuilder, query, alias)); }
public static void Id_Of_JoinedSetting_AliasedByMagicString_FilteredInJoin_Is ( IFilterableQuery <UserEntity> query, int id ) { Setting setting = null; query.Inner.Join("Setting", () => setting, () => setting.Id == id); }
public static void Id_Of_JoinedSetting_FilteredInJoin_UsingRevealer_Is ( IFilterableQuery <UserEntity> query, int id ) { Setting setting = null; query.Inner.Join(x => x.Setting, () => setting, () => setting.Id == id, NoopRevealConvention()); }
public static void Id_Of_JoinedSetting_FilteredInJoin_Is ( IFilterableQuery <UserEntity> query, int id ) { Setting setting = null; query.Inner.Join(x => x.Setting, () => setting, () => setting.Id == id); }
public static void Id_Of_JoinedSetting_UsingRevealer_Is ( IFilterableQuery <UserEntity> query, int id ) { Setting setting = null; query.Inner.Join(x => x.Setting, () => setting, NoopRevealConvention()) .ApplyFilterOn(() => setting, Id_Of_Setting_Is(id)); }
public static void Id_Of_JoinedSetting_UsingWhereHelper_Is ( IFilterableQuery <UserEntity> query, int id ) { Setting setting = null; query.Inner.Join(x => x.Setting, () => setting) .ApplyFilterOn(() => setting, Id_Of_Setting_UsingWhereHelper_Is(id)); }
public static void Id_Of_JoinedSetting_AliasedByMagicString_Is ( IFilterableQuery <UserEntity> query, int id ) { Setting setting = null; query.Inner.Join("Setting", () => setting) .ApplyFilterOn(() => setting, Id_Of_Setting_Is(id)); }
/// <summary> /// Initializes a new instance of the <see cref="FilterableQuery{TSource,TQuery}" /> class. /// </summary> /// <param name="alias"> /// The alias. /// </param> /// <param name="query"> /// The query. /// </param> protected FilterableQuery ( string alias = null, IFilterableQuery query = null ) : base(alias, query) { Query = this as TQuery; if (Query == null) { throw new ArgumentException("The provided TQuery must the type of this instance"); } Inner = new JoinBuilder <TSource, TQuery>(this, Query, JoinType.InnerJoin); LeftOuter = new JoinBuilder <TSource, TQuery>(this, Query, JoinType.LeftOuterJoin); RightOuter = new JoinBuilder <TSource, TQuery>(this, Query, JoinType.RightOuterJoin); Full = new JoinBuilder <TSource, TQuery>(this, Query, JoinType.FullJoin); }
/// <summary> /// Initializes a new instance of the <see cref="WrappedJoinBuilder{TSource,TQuery}" /> class. /// </summary> /// <param name="joinBuilder"> /// The wrapped join builder instance. /// </param> /// <param name="query"> /// The query instance. /// </param> /// <exception cref="ArgumentNullException"> /// The wrapped join builder instance is a null-reference. /// </exception> public WrappedJoinBuilder ( IJoinBuilder <TSource, TQuery> joinBuilder, IFilterableQuery <TSource> query ) { if (joinBuilder == null) { throw new ArgumentNullException("joinBuilder"); } if (query == null) { throw new ArgumentNullException("query"); } _joinBuilder = joinBuilder; _query = query; }
public void Apply(IFilterableQuery <T> query) { _filter(query); }