Die eigene Sammlung wird beim Abfragen der übergeordneten Entität mit SQLite nicht aufgefüllt [Duplikat]C#

Ein Treffpunkt für C#-Programmierer
Guest
 Die eigene Sammlung wird beim Abfragen der übergeordneten Entität mit SQLite nicht aufgefüllt [Duplikat]

Post by Guest »

Ich habe eine Entität mit einer IReadOnlyList-Eigenschaft, der ein privates Listenfeld zugrunde liegt. Ich möchte diese Eins-zu-viele-Beziehung mithilfe von Entity Framework Core mit einer Instanz von IEntityTypeConfiguration konfigurieren.
Die beiden Entitäten:

Code: Select all

public class ParentEntity
{
private ParentEntity(){}

public long Id { get; set; }
private readonly List _childEntities = new();
public IReadOnlyCollection ChildEntities => _childEntities;
}

public class ChildEntity
{
private ChildEntity(){}

public long Id { get; set; }
public string SomeProperty { get; set; }
}
Die Konfiguration:

Code: Select all

public class ParentEntityConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("ParentEntities");
builder.HasKey(pe => pe.Id);

builder.OwnsMany(pe => pe.ChildEntities, childEntity =>
{
childEntity.WithOwner().HasForeignKey("ParentEntityId");
childEntity.ToTable("ChildEntities");
childEntity.HasKey(ce => ce.Id);

childEntity.Property(ce => ce.SomeProperty).IsRequired();
});

builder.Navigation(pms => pms.ChildEntities).UsePropertyAccessMode(PropertyAccessMode.Field);
}
}
Paket: Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0"
Ergebnis: Wenn ich mir die Tabellen in der Datenbank ansehe, sehe ich, dass die Beziehung mit Fremdschlüsseln korrekt eingerichtet ist und Werte mithilfe meines dbContext hinzugefügt werden können.
Wenn ich jedoch den Kontext abfrage, es füllt nie die _childEntities Liste.
Die Abfrage sieht so aus:

Code: Select all

List entities = _parentEntityContext.ParentEntities
.Include(p => p.ChildEntities)
.ToList();

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post