BindingNavigator Add problem / DataSet byRef über WebService

22/05/2008 - 16:20 von Mike Müller | Report spam
Hallo Newsgroup

Ich habe eine klassische mehrschicht Architektur. Der Client kommuniziert
mit BLL/DAL via WebService. Die als BusinessObjekte verwende ich typed
DataSets.

Für die Anzeige der Daten arbeite ich mit einem BindingNavigator und der
BindingSource. Das Problem entsteht nun beim Hinzufügen eines neuen
Datensatzes. Wenn ich einen neuen Datensatz generiere, dann wird die ID erst
in der Datenbank automatisch generiert. Danach update ich die Row im DataSet
in der BLL entsprechend. Leider funktioniert (meines Wissens) das Update by
Reference eines DataSets über einen WebService nicht. Deshalb wird die
generierte ID nicht auf der Clientseite nachgeführt. Hat jemand eine gute
Idee, wie ich dieses Problem umgehen könnte?

Ich habe noch die AddMethode mit dem DataSet als return Prameter versehen.
Ich dachte, ich könnte dann so einen Merge beim Client machen. Das ist aber
wiederum schwierig, da im DataSet auf ClientSeite ja die ID fehlt. Ich weiss
dannnicht genau, welchen Datensatz ich nun updaten muss. (Es könnte auch
sein, dass gleich mehrere neue Rows hinzugefügt worden sind). Natürlich
könnte ich das lösen, in dem ich eine interne ID vergebe, worüber ich dann
den DatenSatz beim Client finden und updaten kann. Aber gibt es keine
elegantere Lösung für dieses Problem?

Besten Dank und Gruss
 

Lesen sie die antworten

#1 Frank Dzaebel
23/05/2008 - 20:03 | Warnen spam
Hallo Mike,

Für die Anzeige der Daten arbeite ich mit einem BindingNavigator und der
BindingSource. Das Problem entsteht nun beim Hinzufügen eines neuen
Datensatzes. Wenn ich einen neuen Datensatz generiere, dann wird die ID
erst in der Datenbank automatisch generiert. Danach update ich die Row im
DataSet in der BLL entsprechend. Leider funktioniert (meines Wissens) das
Update by Reference eines DataSets über einen WebService nicht. Deshalb
wird die generierte ID nicht auf der Clientseite nachgeführt. Hat jemand
eine gute Idee, wie ich dieses Problem umgehen könnte?



Vielleicht, ist folgendes ein möglicher Ansatz,
oder zumindest eine Unterstützung:

[Entity Update in verteilten Szenarien - Linq to Entities]
http://dzaebel.net/EntityUpdate.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen