Wenn ich eine User
Klasse, die diese Eigenschaften hat:EF-Code Zuerst Karte zwei Navigationseigenschaften auf den gleichen Objekttyp
public Guid UserPreferenceId { get; set; }
public virtual DefaultUserPreference UserPreference { get; set; }
public Guid SecondaryUserPreferenceId { get; set; }
public virtual DefaultUserPreference SecondaryUserPreference { get; set; }
Wie kann ich dies über fließend API zu machen? Wenn ich versuche, dies auszuführen, heißt es:
Einführung der FOREIGN KEY Einschränkung für die Tabelle 'Benutzer' kann Zyklen oder mehrere Kaskadenpfade verursachen. Geben Sie ON DELETE NO ACTION oder ON UPDATE NO ACTION an, oder ändern Sie andere FOREIGN KEY-Einschränkungen. Constraint konnte nicht erstellt werden. Siehe vorherige Fehler.
Ich habe ein paar dieser Fragen gesehen, aber sie beinhalten immer eine einzige Navigationseigenschaft und eine Sammlung. Auch die Beziehung ist unidirektional, aber es könnte bidirektional sein, wenn es sein müsste, nicht sicher, ob das wichtig ist.
Okay, so habe ich es bidirektionale dann machen? – SventoryMang
Nein, aktualisiert die Antwort mit einer, die ohne bidirektionale funktioniert. Sie müssen nur die fließende Konfigurationszeile ändern, damit sie Ihren Wünschen entspricht. – Richard
Das hat Folgendes verursacht: Die Multiplizität steht in Konflikt mit der referenziellen Einschränkung in der Rolle 'DefaultUser_DefaultUserPreference_Target' in der Beziehung 'DefaultUser_DefaultUserPreference'. Da für alle Eigenschaften in der abhängigen Rolle kein Nullwert zulässig ist, muss die Multiplizität der Hauptrolle "1" sein. Es hat "funktioniert" (kein Fehler), wenn ich es bidirektional gemacht habe, aber die SecondaryUserPreferenceId wurde nicht auf einen FK-Schlüssel gesetzt. – SventoryMang