A couple of days ago, I was finally ready to release the Beta version of Epinova.CRMFramework 2.0 on CodePlex. Unfortunately, the release came with a couple of broken promises, but I believe my excuses are indisputable (at least for now).
When I released the Alpha version I wrote a blog post similar to this, listing the new requirements and changes made to the framework. The requirements have not changed for the Beta version, but a couple of my goals and plans for the framework have.
My initial plans were to replace the CrmQuery system with LINQ support in order to do strongly typed queries in a syntax well known to all developers. Unfortunately, this has not been done, and therefore I’ve had to reinstate CrmQuery. This means that the querying in v2.0 of Epinova.CRMFramework works exactly the same way as it did in version 1.0. If you are completely lost right now, take a look at the documentation.
The good news is that the CrmEntityController<T>.Find() method is back and so is the CrmManyToManyRelationshipController<T, V>. This means that Epinova.CRMFramework 2.0 is complete with the features found in v1.0.
So why did I not rewrite the querying as I said I would? Short answer: Lack of time. This framework is not something I get paid for, it’s a project I play around with on my spare time. As I have a full-time job, it’s only natural that I prioritize my employer and my customers rather than my toys. The good thing is, it’s free and it’s open source, which means that you’re free to add the LINQ support yourself if you want to!
Feel free to contact me if you have any comments or questions