public static EdmProperty CopyColumnAndAnyConstraints( EdmModel database, EntityType fromTable, EntityType toTable, EdmProperty column, bool useExisting, bool allowPkConstraintCopy) { DebugCheck.NotNull(fromTable); DebugCheck.NotNull(toTable); DebugCheck.NotNull(column); var movedColumn = column; if (fromTable != toTable) { movedColumn = TablePrimitiveOperations.IncludeColumn(toTable, column, useExisting); if (allowPkConstraintCopy || !movedColumn.IsPrimaryKeyColumn) { ForeignKeyPrimitiveOperations.CopyAllForeignKeyConstraintsForColumn( database, fromTable, toTable, column); } } return(movedColumn); }
public static EdmProperty CopyColumnAndAnyConstraints( EdmModel database, EntityType fromTable, EntityType toTable, EdmProperty column, Func <EdmProperty, bool> isCompatible, bool useExisting) { EdmProperty movedColumn = column; if (fromTable != toTable) { movedColumn = TablePrimitiveOperations.IncludeColumn(toTable, column, isCompatible, useExisting); if (!movedColumn.IsPrimaryKeyColumn) { ForeignKeyPrimitiveOperations.CopyAllForeignKeyConstraintsForColumn(database, fromTable, toTable, column, movedColumn); } } return(movedColumn); }