Leo un buen número de publicaciones de programadores que se ejecutan en el No se puede determinar un pedido válido para las operaciones dependientes. Las dependencias pueden existir debido a restricciones de clave externa, requisitos de modelo o valores generados en la tienda -excepción cuando se utiliza una relación de autorreferencia en Entity Framework.Relación autorreferencial/padre-hijo en Entity Framework
Estoy tratando de obtener una relación padre-hijo a trabajar:
public class Category {
public int CategoryId { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
public Category Parent { get; set; }
public List<Category> Children { get; set; }
}
Ésta es la configuración que uso (API Fluido):
Property(c => c.ParentId).IsOptional();
HasMany(c => c.Children).WithOptional(c => c.Parent).HasForeignKey(c => c.ParentId);
//HasOptional(c => c.Parent).WithMany(c => c.Children).HasForeignKey(c => c.ParentId);
Tanto el hasMany() y HasOptional () las configuraciones dan como resultado una excepción "No se puede determinar una ordenación válida para las operaciones dependientes ..." cuando intento guardar una nueva categoría como esta:
context.Categories.Add(new Category { Name = "test" });
No entiendo por qué EF no inserta la Categoría con un parentId nulo. La base de datos permite que la clave externa ParentId sea nula.
¿Me podría decir cómo hacerlo?
Gracias! Eso funciono. – Julius
+1 a los dos, me alegraron el día. Thax mucho –
¿Hay alguna manera de implementar esta relación padre-hijo con atributos (con fluidez)? – Shimmy