5

¿Cómo puedo especificar una relación real en la misma tabla utilizando Entity Framework?Relación en la misma tabla con Entity Framework

mi mesa 'Artículos' tiene los siguientes campos: - Id (uniqueidentifier) ​​ - ThreadId (uniqueidentifier) ​​ - Creación (fecha y hora) - Texto (nvarchar (max))

Mi modelo 'Elemento' : - Id (GUID) - ThreadId (GUID) - creación (DateTime) - Texto (cadena) - ChildItems (iCollection)

¿Cómo puedo crear la relación para que ChildItems mantiene los elementos con Id = ThreadId?

+0

Qué quiere decir utilizando código de Primera aproximación o de otro tipo? –

+0

Código Primero, lo siento – Kulvis

Respuesta

5

creo que el siguiente será hacerlo:

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

La entidad artículo

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

    /* Other properties */ 
} 

Y la configuración fluidez

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