Ich habe eine Einheit site
, die ein Konzept einer "Buddy-Site" hat. So habe ich das definiert als viele-zu-viele-Beziehung zu sich selbstEF löschen Einheit mit vielen zu vielen Beziehung zu sich selbst/optional viele-zu-viele
public class Site : Base
{
public DateTime EstablishedDate { get; set; }
public string Name { get; set; }
public string URL { get; set; }
public ICollection<Site> Buddies { get; set; }
}
Config:
public SiteConfig()
{
HasMany(x => x.Buddies).WithMany();
}
Das funktioniert, bis ich versuche, eine site
zu löschen, die Buddy-Websites hat, an welcher Stelle ich bekommen der Verweisbedingungsfehler. Wie definiere ich die Viele-zu-Viele-Beziehung als optional (0 zu viele)?
Ist Ihre many-to-many-Verknüpfungstabelle eines 1. Klasse Mitglied der 'Context'? –
Meine Viele-zu-Viele-Tabelle ist nicht explizit in 'Context' definiert. Es existiert nur als 'EF' automatisch generierte Tabelle. – americanslon
Wenn Sie die Viele-zu-Viele-Tabelle im Kontext explizit verwalten, können Sie einen Kaskadenlöschvorgang verwenden, um den Eintrag in der Junction-Tabelle automatisch zu entfernen, wenn eine der zugeordneten Sites entfernt wird. –