protected internal virtual void CheckColumnDuplication() { HashedSet<string> cols = new HashedSet<string>(); if (IdentifierMapper == null) { //an identifier mapper => Key will be included in the NonDuplicatedPropertyIterator //and checked later, so it needs to be excluded CheckColumnDuplication(cols, Key.ColumnIterator); } CheckColumnDuplication(cols, DiscriminatorColumnIterator); CheckPropertyColumnDuplication(cols, NonDuplicatedPropertyIterator); foreach (Join join in JoinIterator) { cols.Clear(); CheckColumnDuplication(cols, join.Key.ColumnIterator); CheckPropertyColumnDuplication(cols, join.PropertyIterator); } }