- Is it a good idea to create a DTOCollection template for each entity which can be populated from collections (then how to handle typedviews or dynamic lists)
You can use generic collections or arrays List<DTO entity>.
TypedViews, TypedLists and DynamicLists are all dataTables, I think it would be better to pass these over the wire.
- Is directly returning a collection, typedview or dynamic list as a DataTable or IList a good idea for performance?
I think so, and don't forget TypedViews, TypedLists and DynamicLists are all dataTables.
- How would I do paging and sorting in grids (I know I cant bind to a LLBL DataSourceControl anymore because of the service layer, is there any other elegant method) ?
I think you can still bind to LLBLGenProDataSource, but you'll have to use it manually by setting LivePersistence to false and handle the appropriate events to call the corresponding server methods.