/// <summary>
        /// Initialize foreign key details according to referential constraint.
        /// </summary>
        /// <param name="referentialConstraint">Referential constraint to get foreign keys from.</param>
        private void Initialize(
            ReferentialConstraint referentialConstraint)
        {
            if (referentialConstraint == null)
            {
                return;
            }

            if (referentialConstraint.FromRole != null &&
                referentialConstraint.FromProperties != null &&
                referentialConstraint.FromProperties.Count > 0)
            {
                RefType fromType =
                    referentialConstraint.FromRole.TypeUsage.EdmType as RefType;

                if (fromType != null)
                {
                    FromDetails = new ForeignKeyDetail()
                    {
                        ContainerClass = fromType.ElementType.Name,
                        Keys           =
                            referentialConstraint.FromProperties.Select(m => m.Name).ToList(),
                        RelationshipMultiplicity =
                            referentialConstraint.FromRole.RelationshipMultiplicity
                    };
                }
            }

            if (referentialConstraint.ToRole != null &&
                referentialConstraint.ToProperties != null &&
                referentialConstraint.ToProperties.Count > 0)
            {
                RefType toType =
                    referentialConstraint.ToRole.TypeUsage.EdmType as RefType;

                if (toType != null)
                {
                    ToDetails = new ForeignKeyDetail()
                    {
                        ContainerClass = toType.ElementType.Name,
                        Keys           =
                            referentialConstraint.ToProperties.Select(m => m.Name).ToList(),
                        RelationshipMultiplicity =
                            referentialConstraint.ToRole.RelationshipMultiplicity
                    };
                }
            }
        }
 internal RelationshipDetail()
 {
     FromDetails = new ForeignKeyDetail();
     ToDetails   = new ForeignKeyDetail();
 }