public virtual IEnumerable <ForeignKey> FindForeignKeys([NotNull] IReadOnlyList <IProperty> properties) { Check.HasNoNulls(properties, nameof(properties)); Check.NotEmpty(properties, nameof(properties)); var declaredForeignKeys = FindDeclaredForeignKeys(properties); return(BaseType == null ? declaredForeignKeys : declaredForeignKeys.Concat(BaseType.FindForeignKeys(properties))); }