/// <summary> /// Compares the foreign key definitions. /// </summary> /// <param name="a1">The a1.</param> /// <param name="a2">The a2.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> public static bool CompareForeignKeyDefinitions(DbForeignKeyDefinition[] a1, DbForeignKeyDefinition[] a2) { if (a1 == null || a2 == null) return false; if (a1.Length != a2.Length) return false; return !a1.Where( (t, i) => t.ConstraintName != a2[i].ConstraintName || t.ForeignKeyColumnsName != a2[i].ForeignKeyColumnsName || t.ForeignKeyTableName != a2[i].ForeignKeyTableName || t.PrimaryKeyColumnsName != a2[i].PrimaryKeyColumnsName || t.PrimaryKeyTableName != a2[i].PrimaryKeyTableName) .Any(); }