El código de Entity Framework First puede generar la base de datos para las siguientes POCO.Código de Entity Framework Primero: la restricción FOREIGN KEY puede causar ciclos o varias rutas en cascada
public class Item {
public int Id { get; set; }
public string Name { get; set; }
}
public class ItemPair {
public int Id { get; set; }
public virtual Item FirstItem { get; set; }
public virtual Item SecondItem { get; set; }
}
me gustaría establecer la relación con el primer y segundo elemento a través de campos de ID en lugar de la totalidad de una clase de "artículo". Entonces:
public class ItemPair {
public int Id { get; set; }
public virtual Item FirstItem { get; set; }
public int FirstItem_Id { get; set; }
public virtual Item SecondItem { get; set; }
public int SecondItem_Id { get; set; }
}
también funciona. Editar: Esto realmente no funcionó. Solo genera columnas FirstItem_Id1 y SecontItem_Id2 adicionales.
Pero sólo cambiar las propiedades de clave externa a FirstItemId, SecondItemId, (sin éste), así:
public class ItemPair {
public int Id { get; set; }
public virtual Item FirstItem { get; set; }
public int FirstItemId { get; set; }
public virtual Item SecondItem { get; set; }
public int SecondItemId { get; set; }
}
resultados en la siguiente excepción.
{"Introducing FOREIGN KEY constraint 'ItemPair_SecondItem' on table 'ItemPair' may cause
cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION,
or modify other FOREIGN KEY constraints.\r\nCould not create constraint.
See previous errors."}
¿Por qué? Y qué puedo hacer para evitar esta excepción.
Esta alternativa me ayudó a mejorar http://stackoverflow.com/questions/19373310/introducing-foreign-key-constraint-may-cause-cycles-or-multiple-cascade-paths – Mzn