While I have always been a fan of libraries that improve coding efficiency and reduce code redundancy I have mostly been using ones that were in the public domain. As part of the Geeks With Blogs Influencers program a got my hands on ComponentOne’s Studio for Entity Framework. Below are my thought after working with the product for several weeks.
My coding preference has always been maintainable code that is reusable across an enterprises protfolio. Because of this my focus in reviewing this product is less on the RAD components and more on its benefits for layered applications using code first Entity Framework.
Before we get into the pros and cons here is a summary of the main feature listed for SEF.
- Unified Data Context
- Virtual Data Access
- More Powerful Data Binding
The first thing that I found to my liking is the C1DataSource. It basically manages a cache for your Entity Model context. Under RAD conditions this is setup automatically when you drop the object on a your design surface. If you are like me and want to abstract you data management into a library it takes a little more work, but it is still acceptable and gains the same benefits.
The second feature that I found beneficial is the definition of views with improved sorting and filtering. Again the ease of use of these features is greater on the RAD side but no capabilities are missing when manipulating object in code.
Linq has become my friend over the last couple of years and it was great to see that ComponentOne had ensured that it remained a first class citizen in their design. When you look into this product yourself I would suggest taking a dive into LiveLinq which allow the joining of different data source types.
As I went through discovering the features of this framework I appreciated the number of examples that they supplied for different uses. Besides showing how to use SEF with WinForms, WPF and Silverlight they also showed how to accomplish tasks both RAD, code only and MVVM approaches.
The only area that I would really like to see improvement is in there level of detail in their documentation. Specifically I would like to have seen some of the supporting code explained, such as what some supporting object did, in the examples instead of having to go to the programmer’s reference.
I did find some times where currently existing projects had some trouble determining scope that the RAD controls were allowed, but I expect this is something that is in part end user related.
Overall I found the Studio for Entity Framework capable and well thought out. If you are already using the Entity Framework this product will fit into your environment with little effort in return for greater flexibility and greater robustness in your solutions.
Whether the $895 list price for a standard version works for you will depend on your return on investment. Smaller companies with only a small number of projects may not be able to stomach it, you get a full featured product that is supported by a well established company. The more projects and the more code you have the greater your return on investment will be.
Personally I intend to apply this product to some production systems and will probably have some tips and tricks in the future.