SchemaConstraints.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Validation / SchemaConstraints.cs / 1305376 / SchemaConstraints.cs

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

 
using System.Data.Common.Utils;
using System.Collections.Generic;
using System.Text;
 
namespace System.Data.Mapping.ViewGeneration.Validation
{ 
    ///  
    /// A class representing a set of constraints. It uses generic parameters
    /// so that we can get strong typing and avoid downcasts 
    /// 
    internal class SchemaConstraints : InternalBase
    where TKeyConstraint : InternalBase
    { 

        #region Constructor 
        // effects: Creates an empty set of constraints 
        internal SchemaConstraints()
        { 
            m_keyConstraints = new List();
        }
        #endregion
 
        #region Fields
        // Use different lists so we can enumerate the right kind of constraints 
        private List m_keyConstraints; 
        #endregion
 
        #region Properties
        internal IEnumerable KeyConstraints
        {
            get { return m_keyConstraints; } 
        }
        #endregion 
 
        #region Methods
        // effects: Adds a key constraint to this 
        internal void Add(TKeyConstraint constraint)
        {
            EntityUtil.CheckArgumentNull(constraint, "constraint");
            m_keyConstraints.Add(constraint); 
        }
 
        // effects: Converts constraints to human-readable strings and adds them to builder 
        private static void ConstraintsToBuilder(IEnumerable constraints, StringBuilder builder)
            where Constraint : InternalBase 
        {
            foreach (Constraint constraint in constraints)
            {
                constraint.ToCompactString(builder); 
                builder.Append(Environment.NewLine);
            } 
        } 

        internal override void ToCompactString(StringBuilder builder) 
        {
            ConstraintsToBuilder(m_keyConstraints, builder);
        }
        #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