public static ICreateTableColumnOptionOrWithColumnSyntax WithColumnForForeignKeyTo <TEntity>( this ICreateTableWithColumnSyntax tableWithColumnSyntax, string columnName = null, bool nullable = false) where TEntity : class, IEntity { var defaultColumnName = ColumnName.ForeignKeyTo <TEntity>(); var columnDefinition = tableWithColumnSyntax.WithColumn(columnName ?? defaultColumnName).AsInt32(); return(nullable ? columnDefinition.Nullable() : columnDefinition.NotNullable()); }
public static IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax AddColumnForForeignKeyTo <TEntity>( this IAlterTableAddColumnOrAlterColumnOrSchemaOrDescriptionSyntax tableWithColumnSyntax, string columnName = null, bool nullable = false) where TEntity : class, IEntity { var defaultColumnName = ColumnName.ForeignKeyTo <TEntity>(); var columnDefinition = tableWithColumnSyntax.AddColumn(columnName ?? defaultColumnName).AsInt32(); return(nullable ? columnDefinition.Nullable() : columnDefinition.NotNullable()); }
public static ICreateForeignKeyCascadeSyntax BetweenEntities <TForeignEntity, TPrimaryEntity>(this ICreateForeignKeyFromTableSyntax root, string foreignColumnName = null) where TForeignEntity : class, IEntity where TPrimaryEntity : class, IEntity { var foreignTableName = TableName.ForEntity <TForeignEntity>(); foreignColumnName = foreignColumnName ?? ColumnName.ForeignKeyTo <TPrimaryEntity>(); var primaryTableName = TableName.ForEntity <TPrimaryEntity>(); var primaryColumnName = ColumnName.PrimaryKey; return(root .FromTable(foreignTableName).ForeignColumn(foreignColumnName) .ToTable(primaryTableName).PrimaryColumn(primaryColumnName)); }