One of the main attraction points to this offering in my review is how does it fit into the work I do and solutions I recommend. Right off, the fact it has capabilities described as Silverlight focus/MVVM , makes it something that intrigued me. I tested the different capabilities it has from using it in WinForms and WPF as well, and Silverlight.
One of the main points is the C1DataSource, it shows a level of simplicity through the property dialogs that allows you to move right along with, for example, how you need to present, filter (server side) and sort data. The same can be said on how simple it is to implement different paging options, it does take into consideration working with this from a client side as well as managing it server side.
A big advantage here is the ability to connect to any of the “data-bound” capable built-in controls and components. For example, being able to work with the built-in DataGridView or a TextBox for that matter.
So, yes the focus does fall on the C1DataSource component, among the process is the creation of an application wide object that will support any C1DataSource within the scope of the same application. This allows for a unified approach that does not require synchronization among objects as long as they are within the same application scope.
In most of my review and evaluation I had close to zero code added and had a functional data driven solution. For example, in creating a Master-detail form, the process needed was to add a couple of DataGridViews, one pointed to the Customers Entity and the other pointed to the Orders Entity. And yes, that was it, by selecting a Customer then I was able to see the Orders that had been placed. We can get more creative and go further by adding perhaps a DropDown that gives me a list of Customers and then based on my selection the Orders would be displayed on the Grid. This where we would make use of the Server-Side filters (again, depends on the volume of data).
So, what is it that goes on in the back? The C1DataSource is a Data Set, and the ViewSource property helps us define DataViews. The truth of the matter is, it just flows!
All in all, a great tool. However, I do feel their documentation needs some reworking. I am picky when it comes to this as I have been involved in creating/writing Hands-on Labs. And many times assumptions can be made on the level of knowledge an individual may have. In light of this, I will be creating a set of videos that highlights the main elements of the functionality and different implementations. The goal is to make sure tools like this get used, but more importantly get used the right way.
In the meantime look into the videos provided through the ComponentOne Website: http://www.componentone.com/SuperProducts/StudioEntityFramework/Videos/