SymbolPair.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / SymbolPair.cs / 1305376 / SymbolPair.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

using System; 
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text; 
using System.Data.SqlClient;
using System.Data.Metadata.Edm; 
using System.Data.Common.CommandTrees; 

namespace System.Data.SqlClient.SqlGen 
{
    /// 
    /// The SymbolPair exists to solve the record flattening problem.
    ///  
    /// Consider a property expression D(v, "j3.j2.j1.a.x")
    /// where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns. 
    /// This has to be translated eventually into {j'}.{x'} 
    ///
    /// The source field represents the outermost SqlStatement representing a join 
    /// expression (say j2) - this is always a Join symbol.
    ///
    /// The column field keeps moving from one join symbol to the next, until it
    /// stops at a non-join symbol. 
    ///
    /// This is returned by , 
    /// but never makes it into a SqlBuilder. 
    /// 
    class SymbolPair : ISqlFragment 
    {
        public Symbol Source;
        public Symbol Column;
 
        public SymbolPair(Symbol source, Symbol column)
        { 
            this.Source = source; 
            this.Column = column;
        } 

        #region ISqlFragment Members

        public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator) 
        {
            // Symbol pair should never be part of a SqlBuilder. 
            Debug.Assert(false); 
        }
 
        #endregion
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

using System; 
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text; 
using System.Data.SqlClient;
using System.Data.Metadata.Edm; 
using System.Data.Common.CommandTrees; 

namespace System.Data.SqlClient.SqlGen 
{
    /// 
    /// The SymbolPair exists to solve the record flattening problem.
    ///  
    /// Consider a property expression D(v, "j3.j2.j1.a.x")
    /// where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns. 
    /// This has to be translated eventually into {j'}.{x'} 
    ///
    /// The source field represents the outermost SqlStatement representing a join 
    /// expression (say j2) - this is always a Join symbol.
    ///
    /// The column field keeps moving from one join symbol to the next, until it
    /// stops at a non-join symbol. 
    ///
    /// This is returned by , 
    /// but never makes it into a SqlBuilder. 
    /// 
    class SymbolPair : ISqlFragment 
    {
        public Symbol Source;
        public Symbol Column;
 
        public SymbolPair(Symbol source, Symbol column)
        { 
            this.Source = source; 
            this.Column = column;
        } 

        #region ISqlFragment Members

        public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator) 
        {
            // Symbol pair should never be part of a SqlBuilder. 
            Debug.Assert(false); 
        }
 
        #endregion
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK