public bool Equals(ITable x, ITable y) { if (!x.tableName.Equals(y.tableName)) { return(false); } return(new ListComparer <Column>(Column.GetColumnComparer()).Equals(x.GetColumnList(), y.GetColumnList()) && PrimaryKey.GetPrimaryKeyComparer().Equals(x.primaryKey, y.primaryKey) && ForeignKey.GetForeignKeyComparer().Equals(x.foreignKey, y.foreignKey)); }