Hallo,
die Klasse PersonalHardware erbt von der Klasse Aenderung:
namespace IMS.Data
{
public class Aenderung
{
[DataType(DataType.MultilineText)]
[StringLength(2000)]
[Display(Name = "Änderungsanlass")]
public string Aenderungsanlass;
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Änderungsdatum")]
public DateTime Aenderungsdatum;
[Display(Name = "Änderungsart")]
public Guid AenderungsartId;
public Aenderungsart Aenderungsart { get; set; } // Referenz zur Aenderungsart
[Display(Name = "Änderung durch")]
public Guid PersonalId;
[ForeignKey("Aenderungspersonal")]
public Personal Personal { get; set; } // Referenz zum Personal
[Display(Name = "Änderungsadresse")]
[StringLength(50)]
public string Aenderungsadresse;
}
}
namespace IMS.Data
{
public class PersonalHardware : Aenderung
{
public Guid Id { get; set; }
[Display(Name = "Personal")]
public Guid PersonalId { get; set; }
[Display(Name = "Hardware")]
public Guid HardwareId { get; set; }
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime Zuordnungsbeginn { get; set; }
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Zuordnungsende { get; set; }
[Display(Name = "Gültigkeitsbeginn")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime ObjektGueltigAb;
[Display(Name = "Gültigkeitsende")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? ObjektGueltigBis;
}
}
Verwende ich migrations wird mir bei ASP.NET Core 2.1 und EF Core 2.1.1 folgendes erzeugt:
migrationBuilder.CreateTable(
name: "PersonalHardwares",
columns: table => new
{
AenderungsartId1 = table.Column<Guid>(nullable: true),
Aenderungspersonal = table.Column<Guid>(nullable: false),
Id = table.Column<Guid>(nullable: false),
PersonalId = table.Column<Guid>(nullable: false),
HardwareId = table.Column<Guid>(nullable: false),
Zuordnungsbeginn = table.Column<DateTime>(nullable: false),
Zuordnungsende = table.Column<DateTime>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_PersonalHardwares", x => x.Id);
table.ForeignKey(
name: "FK_PersonalHardwares_Aenderungsarten_AenderungsartId1",
column: x => x.AenderungsartId1,
principalTable: "Aenderungsarten",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_PersonalHardwares_Personals_Aenderungspersonal",
column: x => x.Aenderungspersonal,
principalTable: "Personals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
Es werden also aus der Klasse Aenderung nur
- Aenderungsart und
- Aenderungspersonal,
nicht aber
- Aenderungsanlass
- Aenderungsdatum und
- Aenderungsadresse
übernommen.
Was mache ich falsch?
Vielen Dank
KonfiDa