/// <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(); }