Ich verwende EF-Code zuerst für die DataGrid-ElementeSourse, wie kann ich beim PreviewKeyUp-Ereignis feststellen, ob die Elemente, die der Benutzer löschen möchte, gelöscht werden können oder nicht.Ermitteln, ob das Löschen der DataGrid-Zeile zum Löschen geeignet ist
Zum Beispiel, wenn Benutzer einen 'Kunden' löschen und eine 'Bestellung' customerId enthält, ist es illegal. Gibt es eine Möglichkeit zu wissen, ob der Bezeichner des Elements, das der Benutzer löschen möchte, als Fremdschlüssel in einer anderen Tabelle verwendet wird? Hat EF irgendwelche Informationen?
So etwas:
private void DataGridEX_PreviewKeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Delete) {
if (e.OriginalSource is DataGridCell) {
DataGrid dataGrid = sender;
if (!IsValidToDelete(dataGrid.SelectedCells)) {
e.Handled = true;
MsgBox("Not Valid To Delete !");
}
}
}
}
Sie fragen, ob es einen Weg gibt, herauszufinden, ob ein bestimmter Wert in der 'CustomerID'-Spalte Ihrer 'Order'-Tabelle gefunden wird, ist das richtig? Ist Ihre 'Order'-Tabelle in Ihrem EF-Modell? –
Ja ist das richtig, und ja 'Ordnung' ist im EF-Modell. – codeDom