Hi
There are 2 possible methods that you could use to address your situation.
I normally make heavy use MVC design pattern in my application, and therefore my client has the bare minimum functionality i.e. it loads, reads a dataset, and 'paints' the screen. The dataset contain a collection (datatable) that is 'customised' so that the UI has minimum logic (DB relationships, BL etc)...bit like a flatfile (could be XML file, but dataset is easy coding)
In this situation, my BL 'unloads' the data from LLBL entity/collection objects, into a dataset. This dataset is sent to the UI (clent), who modifies it. As part of midification, it sets the 'isDirty' flag that will enable the BL to 'pick' just the changed rows.
If however, thye BL sent a large amount of 'row' to the UI and there is significantly low amount of 'changed' by the client, then it is more efficient to just send the few row rather them the whole dataset with 'isDirty' flag set on the few records - makes it easier of the BL coding as well.
The other option (please note, I have personnaly not tried yet) is to send the LLBL entity. When that entity is changed, the isDirty flag will get set by LLBL runtime. The BL will just have to look for 'isDirty' records to do its job. In this situation, new record might to be treated a bit diffrent. Please read this thread for further info http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=2151&HighLight=1.
Hope this help. Keep us posted