Frage

In meiner Anwendung extrahiere ich die Daten eines LINQ to SQL Datacontext in ein Wörterbuch für die einfache Verwendung wie folgt:

Jobs = dbc.Jobs.ToDictionary(j => j.Id, j => j);

Dann binde ich dieses Wörterbuch zu einem Binding:

bsJob.DataSource = jobManager.Jobs.Values.ToList();

ich aktualisieren Sie die Datacontext und das Wörterbuch regelmäßig auf, wenn neue Jobs in der Datenbank hinzugefügt werden (ob direkt durch die lokale Anwendung oder die Anwendung auf einem anderen Computer ausgeführt wird):

dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Job);
Jobs = dbc.Job.ToDictionary(j => j.Id, j => j);

Wie kann ich das Binding aktualisieren, um die Änderungen auch aufnehmen?

War es hilfreich?

Lösung

Ich sehe nicht, die Beziehung von der Jobs Klasse der Customer-Klasse, also werde ich davon ausgehen, dass auf den Typ und nicht jobManager.Customers.Values.ToList ();

Angenommen, Sie bereits eine Art von Ereignis haben Ihre refresh Triggern, da Sie erwähnten Sie „regelmäßig“ aktualisiert, Sie zu dieser Zeit einen neuen Wert der BindingSource.DataSource Eigenschaft zuweisen können wie Sie ursprünglich war.

dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Customer);
Customers = dbc.Customer.ToDictionary(c => c.Id, c => c);
bsJob.DataSource = jobManager.Jobs.Values.ToList();  //Assuming this statement was correct
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top