コード例 #1
0
        public SqlTableReferenceExpression(SqlTableBase sqlTable)
            : base(sqlTable.ItemType)
        {
            ArgumentUtility.CheckNotNull("sqlTable", sqlTable);

            _sqlTableBase = sqlTable;
        }
コード例 #2
0
        public void AddSqlEntityMapping(SqlEntityExpression entityExpression, SqlTableBase sqlTable)
        {
            ArgumentUtility.CheckNotNull("entityExpression", entityExpression);
            ArgumentUtility.CheckNotNull("sqlTable", sqlTable);

            _entityMapping[entityExpression] = sqlTable;
        }
コード例 #3
0
        public void AddGroupReferenceMapping(SqlGroupingSelectExpression groupingSelectExpression, SqlTableBase sqlTable)
        {
            ArgumentUtility.CheckNotNull("groupingSelectExpression", groupingSelectExpression);
            ArgumentUtility.CheckNotNull("sqlTable", sqlTable);

            _groupReferenceMapping[groupingSelectExpression] = sqlTable;
        }
コード例 #4
0
 private void ResolveJoins(SqlTableBase sqlTable)
 {
     foreach (var joinedTable in sqlTable.JoinedTables)
     {
         ResolveJoinedTable(joinedTable);
     }
 }
コード例 #5
0
        public UnresolvedGroupReferenceTableInfo(SqlTableBase referencedGroupSource)
        {
            ArgumentUtility.CheckNotNull("referencedGroupSource", referencedGroupSource);

            _referencedGroupSource = referencedGroupSource;
            _itemType = ReflectionUtility.GetItemTypeOfClosedGenericIEnumerable(referencedGroupSource.ItemType, "referencedGroupSource");
        }
コード例 #6
0
    public UnresolvedGroupReferenceTableInfo (SqlTableBase referencedGroupSource)
    {
      ArgumentUtility.CheckNotNull ("referencedGroupSource", referencedGroupSource);

      _referencedGroupSource = referencedGroupSource;
      _itemType = ReflectionUtility.GetItemTypeOfClosedGenericIEnumerable (referencedGroupSource.ItemType, "referencedGroupSource");
    }
コード例 #7
0
    public SqlTableReferenceExpression (SqlTableBase sqlTable)
        : base(sqlTable.ItemType)
    {
      ArgumentUtility.CheckNotNull ("sqlTable", sqlTable);

      _sqlTableBase = sqlTable;
    }
コード例 #8
0
 private static void GenerateSqlForJoins(SqlTableBase sqlTable, ISqlCommandBuilder commandBuilder, IJoinInfoVisitor visitor)
 {
     foreach (var joinedTable in sqlTable.JoinedTables)
     {
         GenerateTextForSqlJoinedTable(visitor, joinedTable, commandBuilder);
         GenerateSqlForJoins(joinedTable, commandBuilder, visitor);
     }
 }
コード例 #9
0
        protected SubStatementReferenceResolver(ResolvedSubStatementTableInfo tableInfo, SqlTableBase sqlTable, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("tableInfo", tableInfo);
            ArgumentUtility.CheckNotNull("sqlTable", sqlTable);
            ArgumentUtility.CheckNotNull("context", context);

            _tableInfo = tableInfo;
            _sqlTable  = sqlTable;
            _context   = context;
        }
コード例 #10
0
            public SimplifyingVisitor(SqlTableBase oldElementSource, Expression newElementExpression)
            {
                ArgumentUtility.CheckNotNull("oldElementSource", oldElementSource);
                ArgumentUtility.CheckNotNull("newElementExpression", newElementExpression);

                _oldElementSource     = oldElementSource;
                _newElementExpression = newElementExpression;

                CanBeTransferredToGroupingSource = true;
            }
コード例 #11
0
    public Expression ResolveReference (SqlTableBase sqlTable, IMappingResolver mappingResolver, IMappingResolutionContext context, UniqueIdentifierGenerator generator)
    {
      ArgumentUtility.CheckNotNull ("sqlTable", sqlTable);
      ArgumentUtility.CheckNotNull ("mappingResolver", mappingResolver);
      ArgumentUtility.CheckNotNull ("context", context);
      ArgumentUtility.CheckNotNull ("generator", generator);

      var entity = (SqlEntityExpression) mappingResolver.ResolveSimpleTableInfo (this, generator);
      context.AddSqlEntityMapping (entity, sqlTable);
      return entity;
    }
コード例 #12
0
        public Expression ResolveReference(SqlTableBase sqlTable, IMappingResolver mappingResolver, IMappingResolutionContext context, UniqueIdentifierGenerator generator)
        {
            ArgumentUtility.CheckNotNull("sqlTable", sqlTable);
            ArgumentUtility.CheckNotNull("mappingResolver", mappingResolver);
            ArgumentUtility.CheckNotNull("context", context);
            ArgumentUtility.CheckNotNull("generator", generator);

            var entity = (SqlEntityExpression)mappingResolver.ResolveSimpleTableInfo(this, generator);

            context.AddSqlEntityMapping(entity, sqlTable);
            return(entity);
        }
コード例 #13
0
        public static Expression ResolveSubStatementReferenceExpression(
            Expression referencedExpression,
            ResolvedSubStatementTableInfo containingSubStatementTableInfo,
            SqlTableBase containingSqlTable,
            IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("referencedExpression", referencedExpression);
            ArgumentUtility.CheckNotNull("containingSubStatementTableInfo", containingSubStatementTableInfo);
            ArgumentUtility.CheckNotNull("containingSqlTable", containingSqlTable);

            var visitor = new SubStatementReferenceResolver(containingSubStatementTableInfo, containingSqlTable, context);
            var result  = visitor.VisitExpression(referencedExpression);

            return(result);
        }
コード例 #14
0
 public Expression ResolveReference (SqlTableBase sqlTable, IMappingResolver mappingResolver, IMappingResolutionContext context, UniqueIdentifierGenerator generator)
 {
   var selectProjection = SqlStatement.SelectProjection;
   return SubStatementReferenceResolver.ResolveSubStatementReferenceExpression (selectProjection, this, sqlTable, context);
 }
コード例 #15
0
 private SqlStatement GetSubStatement(SqlTableBase sqlTableBase)
 {
     return(((ResolvedSubStatementTableInfo)((SqlTable)sqlTableBase).TableInfo).SqlStatement);
 }
コード例 #16
0
        public Expression ResolveReference(SqlTableBase sqlTable, IMappingResolver mappingResolver, IMappingResolutionContext context, UniqueIdentifierGenerator generator)
        {
            var selectProjection = SqlStatement.SelectProjection;

            return(SubStatementReferenceResolver.ResolveSubStatementReferenceExpression(selectProjection, this, sqlTable, context));
        }