EdmRelationshipRoleAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Objects / DataClasses / EdmRelationshipRoleAttribute.cs / 2 / EdmRelationshipRoleAttribute.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner       [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 
using System.Data.Metadata.Edm; //for RelationshipMultiplicity
 
namespace System.Data.Objects.DataClasses
{
    /// 
    ///  
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")]
    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] 
    public sealed class EdmRelationshipAttribute : System.Attribute 
    {
        private string _relationshipNamespaceName; 
        private string _relationshipName;
        private string _role1Name;
        private string _role2Name;
        private RelationshipMultiplicity _role1Multiplicity; 
        private RelationshipMultiplicity _role2Multiplicity;
        private Type _role1Type; 
        private Type _role2Type; 

        ///  
        /// Attribute containing the details for a relationship
        /// This should match the C-Space relationship information, but having it available in this
        /// attribute allows us access to this information even in O-Space when there is no context.
        /// There can be multiple attributes of this type in an assembly. 
        /// 
        public EdmRelationshipAttribute(string relationshipNamespaceName, 
            string relationshipName, 
            string role1Name,
            RelationshipMultiplicity role1Multiplicity, 
            Type role1Type,
            string role2Name,
            RelationshipMultiplicity role2Multiplicity,
            Type role2Type) 
        {
            _relationshipNamespaceName = relationshipNamespaceName; 
            _relationshipName = relationshipName; 

            _role1Name = role1Name; 
            _role1Multiplicity = role1Multiplicity;
            _role1Type = role1Type;

            _role2Name = role2Name; 
            _role2Multiplicity = role2Multiplicity;
            _role2Type = role2Type; 
        } 

        ///  
        /// The name of the namespace that the relationship is in
        /// 
        public string RelationshipNamespaceName
        { 
            get { return _relationshipNamespaceName; }
        } 
 
        /// 
        /// The name of a relationship 
        /// 
        public string RelationshipName
        {
            get { return _relationshipName; } 
        }
 
        ///  
        /// The name of the role
        ///  
        public string Role1Name
        {
            get { return _role1Name; }
        } 

        ///  
        /// The multiplicity of the the RoleName in RelationshipName 
        /// 
        public RelationshipMultiplicity Role1Multiplicity 
        {
            get { return _role1Multiplicity; }
        }
 
        /// 
        /// The CLR type for the role associated with this relationship 
        ///  
        public Type Role1Type
        { 
            get { return _role1Type; }
        }
        /// 
        /// The name of the role 
        /// 
        public string Role2Name 
        { 
            get { return _role2Name; }
        } 

        /// 
        /// The multiplicity of the the RoleName in RelationshipName
        ///  
        public RelationshipMultiplicity Role2Multiplicity
        { 
            get { return _role2Multiplicity; } 
        }
 
        /// 
        /// The CLR type for the role associated with this relationship
        /// 
        public Type Role2Type 
        {
            get { return _role2Type; } 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner       [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 
using System.Data.Metadata.Edm; //for RelationshipMultiplicity
 
namespace System.Data.Objects.DataClasses
{
    /// 
    ///  
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")]
    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] 
    public sealed class EdmRelationshipAttribute : System.Attribute 
    {
        private string _relationshipNamespaceName; 
        private string _relationshipName;
        private string _role1Name;
        private string _role2Name;
        private RelationshipMultiplicity _role1Multiplicity; 
        private RelationshipMultiplicity _role2Multiplicity;
        private Type _role1Type; 
        private Type _role2Type; 

        ///  
        /// Attribute containing the details for a relationship
        /// This should match the C-Space relationship information, but having it available in this
        /// attribute allows us access to this information even in O-Space when there is no context.
        /// There can be multiple attributes of this type in an assembly. 
        /// 
        public EdmRelationshipAttribute(string relationshipNamespaceName, 
            string relationshipName, 
            string role1Name,
            RelationshipMultiplicity role1Multiplicity, 
            Type role1Type,
            string role2Name,
            RelationshipMultiplicity role2Multiplicity,
            Type role2Type) 
        {
            _relationshipNamespaceName = relationshipNamespaceName; 
            _relationshipName = relationshipName; 

            _role1Name = role1Name; 
            _role1Multiplicity = role1Multiplicity;
            _role1Type = role1Type;

            _role2Name = role2Name; 
            _role2Multiplicity = role2Multiplicity;
            _role2Type = role2Type; 
        } 

        ///  
        /// The name of the namespace that the relationship is in
        /// 
        public string RelationshipNamespaceName
        { 
            get { return _relationshipNamespaceName; }
        } 
 
        /// 
        /// The name of a relationship 
        /// 
        public string RelationshipName
        {
            get { return _relationshipName; } 
        }
 
        ///  
        /// The name of the role
        ///  
        public string Role1Name
        {
            get { return _role1Name; }
        } 

        ///  
        /// The multiplicity of the the RoleName in RelationshipName 
        /// 
        public RelationshipMultiplicity Role1Multiplicity 
        {
            get { return _role1Multiplicity; }
        }
 
        /// 
        /// The CLR type for the role associated with this relationship 
        ///  
        public Type Role1Type
        { 
            get { return _role1Type; }
        }
        /// 
        /// The name of the role 
        /// 
        public string Role2Name 
        { 
            get { return _role2Name; }
        } 

        /// 
        /// The multiplicity of the the RoleName in RelationshipName
        ///  
        public RelationshipMultiplicity Role2Multiplicity
        { 
            get { return _role2Multiplicity; } 
        }
 
        /// 
        /// The CLR type for the role associated with this relationship
        /// 
        public Type Role2Type 
        {
            get { return _role2Type; } 
        } 
    }
} 

// 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