SymbolPair.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / SymbolPair.cs / 2 / SymbolPair.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....], [....]
//--------------------------------------------------------------------- 
 
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  [....], [....]
//--------------------------------------------------------------------- 
 
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