using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; using Oqtane.Databases.Interfaces; using Oqtane.Migrations; using Oqtane.Migrations.EntityBuilders; namespace SZUAbsolventenverein.Module.HallOfFame.Migrations.EntityBuilders { public class HallOfFameReportEntityBuilder : AuditableBaseEntityBuilder { private const string _entityTableName = "SZUAbsolventenvereinHallOfFameReport"; private readonly PrimaryKey _primaryKey = new("PK_SZUAbsolventenvereinHallOfFameReport", x => x.HallOfFameReportId); private readonly ForeignKey _hallOfFameForeignKey = new("FK_SZUAbsolventenvereinHallOfFameReport_HallOfFame", x => x.HallOfFameId, "SZUAbsolventenvereinHallOfFame", "HallOfFameId", ReferentialAction.Cascade); public HallOfFameReportEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database) { EntityTableName = _entityTableName; PrimaryKey = _primaryKey; ForeignKeys.Add(_hallOfFameForeignKey); } protected override HallOfFameReportEntityBuilder BuildTable(ColumnsBuilder table) { HallOfFameReportId = AddAutoIncrementColumn(table, "HallOfFameReportId"); HallOfFameId = AddIntegerColumn(table, "HallOfFameId"); Reason = AddMaxStringColumn(table, "Reason"); AddAuditableColumns(table); return this; } public OperationBuilder HallOfFameReportId { get; set; } public OperationBuilder HallOfFameId { get; set; } public OperationBuilder Reason { get; set; } } }