/// <summary> /// Check if another Db object have same DB name /// </summary> /// <param name="trigger">Another DB object</param> /// <returns>True - objects have same names</returns> public bool IsSameDbName(DbObjectTableSchema trigger) { if (trigger == null) { throw new ArgumentNullException(nameof(trigger)); } return(IsSameDbName(trigger.DbSchemaName, trigger.Name)); }
/// <summary> /// Compares database tables if schematicly match each other /// </summary> /// <param name="masterObjectTable">Master database objectTable (or left)</param> /// <param name="checkedObjectTable">Checked database objectTable (or right)</param> /// <returns>Comparison result</returns> public static DbSchemaCompareResult DbCompare(DbObjectTableSchema masterObjectTable, DbObjectTableSchema checkedObjectTable) { if (checkedObjectTable == null) { throw new ArgumentNullException(nameof(checkedObjectTable)); } DbSchemaCompareResult result = new DbSchemaCompareResult(masterObjectTable, checkedObjectTable); result.CompareResultType = DbSchemaCompareResultType.Equals; CompareCollection(result, masterObjectTable.Columns, checkedObjectTable.Columns, (left, right) => string.Equals(left.Name, right.Name, StringComparison.Ordinal), DbObjectTableColumnSchema.DbCompare); foreach (DbSchemaCompareResult fColumnCompare in result.InnerResults) { if (fColumnCompare.CompareResultType != DbSchemaCompareResultType.Equals) { fColumnCompare.CompareResultType = DbSchemaCompareResultType.Different; } } return(result); }