public virtual IJoinInfo ApplyContext(IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionContext mappingResolutionContext) { ArgumentUtility.CheckNotNull("joinInfo", joinInfo); ArgumentUtility.CheckNotNull("mappingResolutionContext", mappingResolutionContext); return(SqlContextJoinInfoVisitor.ApplyContext(joinInfo, expressionContext, this, mappingResolutionContext)); }
public SqlJoinedTable(IJoinInfo joinInfo, JoinSemantics joinSemantics) : base(joinInfo.ItemType, joinSemantics) { ArgumentUtility.CheckNotNull("joinInfo", joinInfo); ArgumentUtility.CheckNotNull("joinSemantics", joinSemantics); _joinInfo = joinInfo; }
public static IJoinInfo ApplyContext (IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingResolutionContext) { ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); ArgumentUtility.CheckNotNull ("stage", stage); var visitor = new SqlContextJoinInfoVisitor (stage, expressionContext, mappingResolutionContext); return joinInfo.Accept (visitor); }
public SqlJoinedTable (IJoinInfo joinInfo, JoinSemantics joinSemantics) : base (joinInfo.ItemType, joinSemantics) { ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); ArgumentUtility.CheckNotNull ("joinSemantics", joinSemantics); _joinInfo = joinInfo; }
public SqlJoinedTable GetOrAddLeftJoin (IJoinInfo joinInfo, MemberInfo memberInfo) { ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); if (!_joinedTables.ContainsKey (memberInfo)) _joinedTables.Add (memberInfo, new SqlJoinedTable (joinInfo, JoinSemantics.Left)); return _joinedTables[memberInfo]; }
public virtual ResolvedJoinInfo ResolveJoinInfo(IJoinInfo joinInfo, IMappingResolutionContext context) { ArgumentUtility.CheckNotNull("joinInfo", joinInfo); ArgumentUtility.CheckNotNull("context", context); var resolvedJoinInfo = ResolvingJoinInfoVisitor.ResolveJoinInfo(joinInfo, _resolver, _uniqueIdentifierGenerator, this, context); return((ResolvedJoinInfo)ApplyContext(resolvedJoinInfo, SqlExpressionContext.ValueRequired, context)); }
public static IJoinInfo ApplyContext(IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingResolutionContext) { ArgumentUtility.CheckNotNull("joinInfo", joinInfo); ArgumentUtility.CheckNotNull("stage", stage); var visitor = new SqlContextJoinInfoVisitor(stage, expressionContext, mappingResolutionContext); return(joinInfo.Accept(visitor)); }
public SqlJoinedTable GetOrAddLeftJoin(IJoinInfo joinInfo, MemberInfo memberInfo) { ArgumentUtility.CheckNotNull("joinInfo", joinInfo); if (!_joinedTables.ContainsKey(memberInfo)) { _joinedTables.Add(memberInfo, new SqlJoinedTable(joinInfo, JoinSemantics.Left)); } return(_joinedTables[memberInfo]); }
public static ResolvedJoinInfo ResolveJoinInfo ( IJoinInfo joinInfo, IMappingResolver resolver, UniqueIdentifierGenerator generator, IMappingResolutionStage stage, IMappingResolutionContext context) { ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); ArgumentUtility.CheckNotNull ("resolver", resolver); ArgumentUtility.CheckNotNull ("generator", generator); ArgumentUtility.CheckNotNull ("stage", stage); ArgumentUtility.CheckNotNull ("context", context); var visitor = new ResolvingJoinInfoVisitor (resolver, generator, stage, context); return (ResolvedJoinInfo) joinInfo.Accept (visitor); }
public static ResolvedJoinInfo ResolveJoinInfo( IJoinInfo joinInfo, IMappingResolver resolver, UniqueIdentifierGenerator generator, IMappingResolutionStage stage, IMappingResolutionContext context) { ArgumentUtility.CheckNotNull("joinInfo", joinInfo); ArgumentUtility.CheckNotNull("resolver", resolver); ArgumentUtility.CheckNotNull("generator", generator); ArgumentUtility.CheckNotNull("stage", stage); ArgumentUtility.CheckNotNull("context", context); var visitor = new ResolvingJoinInfoVisitor(resolver, generator, stage, context); return((ResolvedJoinInfo)joinInfo.Accept(visitor)); }
public virtual SqlEntityExpression ResolveEntityRefMemberExpression(SqlEntityRefMemberExpression expression, IJoinInfo joinInfo, IMappingResolutionContext context) { ArgumentUtility.CheckNotNull("expression", expression); ArgumentUtility.CheckNotNull("joinInfo", joinInfo); ArgumentUtility.CheckNotNull("context", context); var originatingSqlTable = context.GetSqlTableForEntityExpression(expression.OriginatingEntity); var join = originatingSqlTable.GetOrAddLeftJoin(joinInfo, expression.MemberInfo); join.JoinInfo = ResolveJoinInfo(join.JoinInfo, context); var sqlTableReferenceExpression = new SqlTableReferenceExpression(join); return((SqlEntityExpression)ResolveExpression(sqlTableReferenceExpression, context)); }
public virtual IJoinInfo ApplyContext (IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionContext mappingResolutionContext) { ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); ArgumentUtility.CheckNotNull ("mappingResolutionContext", mappingResolutionContext); return SqlContextJoinInfoVisitor.ApplyContext (joinInfo, expressionContext, this, mappingResolutionContext); }
public virtual SqlEntityExpression ResolveEntityRefMemberExpression (SqlEntityRefMemberExpression expression, IJoinInfo joinInfo, IMappingResolutionContext context) { ArgumentUtility.CheckNotNull ("expression", expression); ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); ArgumentUtility.CheckNotNull ("context", context); var originatingSqlTable = context.GetSqlTableForEntityExpression (expression.OriginatingEntity); var join = originatingSqlTable.GetOrAddLeftJoin (joinInfo, expression.MemberInfo); join.JoinInfo = ResolveJoinInfo (join.JoinInfo, context); var sqlTableReferenceExpression = new SqlTableReferenceExpression (join); return (SqlEntityExpression) ResolveExpression (sqlTableReferenceExpression, context); }
public virtual ResolvedJoinInfo ResolveJoinInfo (IJoinInfo joinInfo, IMappingResolutionContext context) { ArgumentUtility.CheckNotNull ("joinInfo", joinInfo); ArgumentUtility.CheckNotNull ("context", context); var resolvedJoinInfo = ResolvingJoinInfoVisitor.ResolveJoinInfo (joinInfo, _resolver, _uniqueIdentifierGenerator, this, context); return (ResolvedJoinInfo) ApplyContext (resolvedJoinInfo, SqlExpressionContext.ValueRequired, context); }