KeyConstraint.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 / Map / ViewGeneration / Validation / KeyConstraint.cs / 1305376 / KeyConstraint.cs

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

using System.Data.Common.Utils; 
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
 
namespace System.Data.Mapping.ViewGeneration.Validation
{ 
    // Class representing a key constraint for particular cellrelation 
    internal class KeyConstraint : InternalBase
        where TCellRelation : CellRelation 
    {

        #region Constructor
        //  Constructs a key constraint for the given relation and keyslots 
        //  with comparer being the comparison operator for comparing various
        //  keyslots in Implies, etc 
        internal KeyConstraint(TCellRelation relation, IEnumerable keySlots, IEqualityComparer comparer) 
        {
            m_relation = relation; 
            m_keySlots = new Set(keySlots, comparer).MakeReadOnly();
            Debug.Assert(m_keySlots.Count > 0, "Key constraint being created without any keyslots?");
        }
        #endregion 

        #region Fields 
        private TCellRelation m_relation; 
        private Set m_keySlots;
        #endregion 

        #region Properties
        protected TCellRelation CellRelation
        { 
            get { return m_relation; }
        } 
 
        protected Set KeySlots
        { 
            get { return m_keySlots; }
        }
        #endregion
 
        #region Methods
        internal override void ToCompactString(StringBuilder builder) 
        { 
            StringUtil.FormatStringBuilder(builder, "Key (V{0}) - ", m_relation.CellNumber);
            StringUtil.ToSeparatedStringSorted(builder, KeySlots, ", "); 
            // The slots contain the name of the relation: So we skip
            // printing the CellRelation
        }
        #endregion 
    }
} 

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

using System.Data.Common.Utils; 
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
 
namespace System.Data.Mapping.ViewGeneration.Validation
{ 
    // Class representing a key constraint for particular cellrelation 
    internal class KeyConstraint : InternalBase
        where TCellRelation : CellRelation 
    {

        #region Constructor
        //  Constructs a key constraint for the given relation and keyslots 
        //  with comparer being the comparison operator for comparing various
        //  keyslots in Implies, etc 
        internal KeyConstraint(TCellRelation relation, IEnumerable keySlots, IEqualityComparer comparer) 
        {
            m_relation = relation; 
            m_keySlots = new Set(keySlots, comparer).MakeReadOnly();
            Debug.Assert(m_keySlots.Count > 0, "Key constraint being created without any keyslots?");
        }
        #endregion 

        #region Fields 
        private TCellRelation m_relation; 
        private Set m_keySlots;
        #endregion 

        #region Properties
        protected TCellRelation CellRelation
        { 
            get { return m_relation; }
        } 
 
        protected Set KeySlots
        { 
            get { return m_keySlots; }
        }
        #endregion
 
        #region Methods
        internal override void ToCompactString(StringBuilder builder) 
        { 
            StringUtil.FormatStringBuilder(builder, "Key (V{0}) - ", m_relation.CellNumber);
            StringUtil.ToSeparatedStringSorted(builder, KeySlots, ", "); 
            // The slots contain the name of the relation: So we skip
            // printing the CellRelation
        }
        #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