Update to latest packages and show examples

This commit is contained in:
2026-07-05 22:05:53 +02:00
parent 3a36978997
commit c7ddc282ed
52 changed files with 2156 additions and 21 deletions
@@ -0,0 +1,138 @@
// <auto-generated />
using System;
using GerstITS.Examples.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace GerstITS.Examples.Data.Migrations
{
[DbContext(typeof(CustomerDbContext))]
[Migration("20260703100412_InitialCreate")]
partial class InitialCreate
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasDefaultSchema("examples")
.HasAnnotation("ProductVersion", "10.0.9")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityAlwaysColumns(modelBuilder);
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<DateTime?>("Deactivated")
.HasColumnType("timestamp with time zone");
b.Property<string>("DeactivatedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<string>("EMail")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("character varying(250)");
b.Property<string>("FirstName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<bool>("IsActive")
.HasColumnType("boolean");
b.Property<string>("LastName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<DateTime?>("Modified")
.HasColumnType("timestamp with time zone");
b.Property<string>("ModifiedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<int>("Version")
.IsConcurrencyToken()
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Customers", "examples");
});
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerNoteEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<int>("CustomerId")
.HasColumnType("integer");
b.Property<string>("HistorySet")
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("character varying(2000)");
b.Property<DateTime>("ValidFrom")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("CustomerId");
b.ToTable("CustomerNotes", "examples");
});
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerNoteEntity", b =>
{
b.HasOne("GerstITS.Examples.Data.Entities.CustomerEntity", null)
.WithMany("Notes")
.HasForeignKey("CustomerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerEntity", b =>
{
b.Navigation("Notes");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,87 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace GerstITS.Examples.Data.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.EnsureSchema(
name: "examples");
migrationBuilder.CreateTable(
name: "Customers",
schema: "examples",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityAlwaysColumn),
FirstName = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
LastName = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
EMail = table.Column<string>(type: "character varying(250)", maxLength: 250, nullable: false),
IsActive = table.Column<bool>(type: "boolean", nullable: false),
Deactivated = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
DeactivatedBy = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: true),
Created = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
CreatedBy = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: true),
Modified = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
ModifiedBy = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: true),
Version = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Customers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "CustomerNotes",
schema: "examples",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityAlwaysColumn),
CustomerId = table.Column<int>(type: "integer", nullable: false),
Text = table.Column<string>(type: "character varying(2000)", maxLength: 2000, nullable: false),
Created = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
CreatedBy = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: true),
HistorySet = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: true),
ValidFrom = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_CustomerNotes", x => x.Id);
table.ForeignKey(
name: "FK_CustomerNotes_Customers_CustomerId",
column: x => x.CustomerId,
principalSchema: "examples",
principalTable: "Customers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_CustomerNotes_CustomerId",
schema: "examples",
table: "CustomerNotes",
column: "CustomerId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CustomerNotes",
schema: "examples");
migrationBuilder.DropTable(
name: "Customers",
schema: "examples");
}
}
}
@@ -0,0 +1,16 @@
using GerstITS.Data.EntityFramework.PostgreSql.Migrations;
using Microsoft.Extensions.Configuration;
namespace GerstITS.Examples.Data.Migrations;
public sealed class CustomerDatabaseConfigurator : PostgreSqlDatabaseConfiguratorBase<CustomerDbContext>
{
#region Constructors
public CustomerDatabaseConfigurator(IConfiguration configuration)
: base("examples", configuration)
{
}
#endregion
}
@@ -0,0 +1,135 @@
// <auto-generated />
using System;
using GerstITS.Examples.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace GerstITS.Examples.Data.Migrations
{
[DbContext(typeof(CustomerDbContext))]
partial class CustomerDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasDefaultSchema("examples")
.HasAnnotation("ProductVersion", "10.0.9")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityAlwaysColumns(modelBuilder);
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<DateTime?>("Deactivated")
.HasColumnType("timestamp with time zone");
b.Property<string>("DeactivatedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<string>("EMail")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("character varying(250)");
b.Property<string>("FirstName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<bool>("IsActive")
.HasColumnType("boolean");
b.Property<string>("LastName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<DateTime?>("Modified")
.HasColumnType("timestamp with time zone");
b.Property<string>("ModifiedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<int>("Version")
.IsConcurrencyToken()
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Customers", "examples");
});
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerNoteEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityAlwaysColumn(b.Property<int>("Id"));
b.Property<DateTime>("Created")
.HasColumnType("timestamp with time zone");
b.Property<string>("CreatedBy")
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<int>("CustomerId")
.HasColumnType("integer");
b.Property<string>("HistorySet")
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("character varying(2000)");
b.Property<DateTime>("ValidFrom")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("CustomerId");
b.ToTable("CustomerNotes", "examples");
});
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerNoteEntity", b =>
{
b.HasOne("GerstITS.Examples.Data.Entities.CustomerEntity", null)
.WithMany("Notes")
.HasForeignKey("CustomerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("GerstITS.Examples.Data.Entities.CustomerEntity", b =>
{
b.Navigation("Notes");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,7 @@
using GerstITS.Data.EntityFramework;
namespace GerstITS.Examples.Data.Migrations.DesignTime;
public sealed class CustomerDbContextDesignTimeFactory : DesignTimeDbContextFactoryBase<CustomerDbContext>
{
}