/// <summary> /// Compares database table columns if schematicly match each other /// </summary> /// <param name="masterColumn">Master database table column (or left)</param> /// <param name="checkedColumn">Checked database table column (or right)</param> /// <returns>Comparison result</returns> public static DbSchemaCompareResult DbCompare(DbObjectTableColumnSchema masterColumn, DbObjectTableColumnSchema checkedColumn) { if (masterColumn == null) { throw new ArgumentNullException(nameof(masterColumn)); } if (checkedColumn == null) { throw new ArgumentNullException(nameof(checkedColumn)); } DbSchemaCompareResult result = DbObjectParameterSchema.DbCompare(masterColumn, checkedColumn); if (masterColumn.DefaultValue != checkedColumn.DefaultValue) { result.CompareResultType = DbSchemaCompareResultType.Different; } if (masterColumn.Collation != checkedColumn.Collation) { result.CompareResultType = DbSchemaCompareResultType.Different; } return(result); }
/// <summary> /// Add new DB column schema to this DB table schema /// </summary> /// <param name="column">Db table column schema to add</param> public void AddColumn(DbObjectTableColumnSchema column) { _columns.Add(column); int fakeOrderId = 0; _columns = _columns.OrderBy(c => c.OrderId).ToList(); _columns.ForEach(c => c.FakeOrderId = fakeOrderId++); }