El código representan pequeña escala de mi problema:referencia a sí misma con Entity Framework
public class Category
{
public Guid CategoryID { get; set; }
public string Name { get; set; }
public Guid? ParentID { get; set; }
public bool IsTop { get; set; }
public string Description { get; set; }
public virtual Category parentCategory { get; set; }
}
Cuando uso esta clase en Entity Framework, genera sólo una relación de padre e hijo categorías.
Cómo puedo decir que separe semánticamente las propiedades y genere dos relaciones diferentes en SQL Server una para obtener todas las categorías secundarias con (relación hija hijo (recursivo descendente)) y la otra para obtener todas las categorías principales (padre de los padres (recursivo de abajo hacia arriba))? Algo como esto:
public virtual ICollection<Category> childCategories { get; set;}
public virtual ICollection<Category> parentCategories { get; set;}
Lo probé con modelBuilder pero a partir de ahí solo puedo obtener un nivel de detalle.
¿Tiene padres múltiples por categoría o solo uno? Tampoco entiendo lo que quieres exactamente. ¿Desea una colección 'parentCategories' que contenga de alguna manera todas las categorías en el árbol hasta la raíz? En caso afirmativo, esto no sería una propiedad de navegación sino un tipo de evaluación o resultado de un recorrido. EF no lo ayudará, tiene que escribir su propio código para crear dicha colección. – Slauma
sí exactamente. quiero algo así que me da todas las categorías de niños por el árbol y de la misma manera todas las categorías padre hasta el árbol ... y sí, me doy cuenta de que EF no ayudará en esta situación, así que he hecho algunos bucles recursivos de IEnmueble y funciona para mí ... gracias por su apoyo –