public override int GetHashCode() {
unchecked {
int hash = 17;
hash = hash * 23 + this.Name.GetHashCode();
hash = hash * 23 + this.IsUnique.GetHashCode();
foreach (var column in this.Columns) {
hash = hash * 23 + column.Name.GetHashCode();
}
hash = hash * 23 + this.Map.Type.Name.GetHashCode();
return hash;
}
}