Ich habe eine Eins-zu-viele unidirektionale Beziehung zwischen Kontakt und Telefon wie folgt definiert:Uni-direktionale einer Eins-zu-viele-Beziehung mit Code Ersten
class Contact {
int ContactId {get; set}
ICollection<Phone> Phones {get; set}
}
class Phone {
int PhoneId {get; set;}
string PhoneNumber {get; set;}
}
nun in der Domänenschicht, ich versuche, folgendes zu tun:
someContact.Phones.Remove(somePhone);
und wenn ich versuche, context.SaveChanges()
ich eine Ausnahme erhalten zu nennen, weil die Beziehung nach Bedarf festgelegt (. zB ein Telefon kann ohne Kontakt nicht vorhanden ist).
Wie kann ich das lösen, ohne einen Fremdschlüssel oder eine Navigationseigenschaft in Telefon zu verwenden und ohne den Anruf DbSet<Phone>.Remove(Phone)
vor dem Anruf SaveChanges()
?
können Sie nicht nur hinzufügen, eine 'RemovePhone()' -Methode kontaktieren? Und was möchten Sie tun, wenn Herr und Frau Smith mit demselben Telefon in Ihrer Datenbank sind und nur Herr Schmidt seinen Account löscht? – efkah
Möchten Sie, dass das Telefon aus der Datenbank gelöscht oder vom Kontakt getrennt wird? Wie soll EF wissen, dass das Telefon gelöscht werden sollte, wenn Sie keine Beziehung zwischen ihm und Kontakten definieren? – lintmouse