June 2008 Atlanta Cutting Edge .NET UG meeting: Entity Framework and Data Services
I was finally able to attend the June Atlanta Cutting Edge .NET UG meeting yesterday. Shawn Wildermuth gave a great presentation the on VS2008 SP1 data technologies: ADO.NET Entity Framework and ADO.NET Data Services (Astoria).
Shawn's recommendations were:
- The Entity Framework (EF) is for enterprises with a large, stable data store
- The most important part of EF is the Entity Data Model (EDM) itself. It is very robust in the mappings it can handle and the extensibility points available.
- Enterprises should hold off and see whether Microsoft and third parties will invest in the EDM. He recommends nHibernate for now.
- ADO.NET Data Services (DS) are only useful for Internet (not intranet or, presumably extranet) where data security is not an issue. His biggest concern was the serialization overhead. I basically interpret that to mean that you should not use DS for essentially 2 tier development.
Interesting points were:
- Shawn was unsure whether EF exposes the model to consumers. I will have to investigate. He did believe, however, that the model is extensible.
- They don't have model/db generation from objects, but they DO have round tripping between the model and the data store.
- As discussed in the July 2007 MSDN article on EF, the Designer is lightweight and you should prepare yourself to be designing in angle brackets for the 1.0 release at least.
- In 1.0, at least, EF will not support Unit of Work and POCO objects. It will support, however, what they call IPOCO, which means the standard data binding interfaces of INotifyPropertyChanged and INotifyCollectionChanged.
- EF can only model/update a single database in 1.0
- DS is a simple proxy layer (my words) over any LINQ source (IQueryable).
- DS provides a command line code code generation step that provides a client side LINQ interface for .NET and Silverlight and a LINQ-like interface for ECMAScript. Nice. Anyone have a MSBuild task for it yet?