I wrote a blog post a while ago about Entity Framework’s POCO capability. Basically, the current state is that you don’t have POCO. You have a T4 template to generate classes without EF attributes or base classes, but it stops short of being a real POCO implementation once you start looking at the collections.
Microsoft is working on a real POCO technology, named Code First. They just released the 5th CTP.
You can read Scott Gu’s blog about it here: http://weblogs.asp.net/scottgu/archive/2010/12/08/announcing-entity-framework-code-first-ctp5-release.aspx.
The technology is quickly maturing. The current CTP offers those improvements:
- Better support for Existing Databases
- Built-in Model-Level Validation and DataAnnotation Support
- Fluent API Improvements
- Pluggable Conventions Support
- New Change Tracking API
- Improved Concurrency Conflict Resolution
- Raw SQL Query/Command Support
The alignment between model-level validation and data-annotation is very nice. The entire configurability and override of convention is quite well thought as well.
This product is another great example of Microsoft embracing the open source ideas and making them available to the masses.