5

Wie kann ich eine Beziehung in derselben Tabelle mit Entity Framework angeben?Beziehung in derselben Tabelle mit Entity Framework

Meine Tabelle 'Artikel' hat folgende Felder: - Id (unique) - ThreadId (unique) - Erstellt (Datumzeit) - Text (nvarchar (max))

Mein Modell 'Item' : - Id (Guid) - ThreadId (Guid) - Erstellt (Datetime) - Text (string) - ChildItems (ICollection)

Wie kann ich die Beziehung zu erstellen, so dass ChildItems die Einzelteile mit Id hält = ThreadId?

+0

Haben Sie Code First-Ansatz oder andere bedeuten mit? –

+0

Code Zuerst, tut mir leid – Kulvis

Antwort

5

denke ich Folgendes wird es tun:

modelBuilder.Entity<Item>() 
        .HasOptional(c => c.ChildItems) 
        .WithMany() 
        .HasForeignKey(c => c.ThreadId); 
2

Die Item-Einheit

public class Item 
{ 
    public Guid Id { get; set; } 
    public Guid ThreadId { get; set; } 
    public ICollection<Item> ChildItems { get; set; } 

    /* Other properties */ 
} 

Und die fließend Konfiguration

modelBuilder.Entity<Item>() 
       .HasMany(i => i.ChildItems) 
       .WithOptional() 
       .HasForeignKey(i => i.ThreadId); 
Verwandte Themen