I did something about this, and here are my conclusions on this.
ADO.NET Data Services:
You can use ADO.NET data services (you need SP1) to expose the Entity structure through a wire with almost zero code. But, as I understand it, the only limitation is a transaction over HTTP. This means that in terms of serialization, there is little overhead (we all know that binary serialization is faster), but the advantage is the speed of implementation of our services.
I got an unofficial word from John [ http://twitter.com/John_Papa] about it - "Definitely more parameters with wcf. More work in most cases, too, Astoria easily reveals entities. Perf differences in most cases are insignificant"
Advantages - you donβt need to write any services at all - you can simply connect the validation and security logic around the data services and entity infrastructure, and we are done. Ideally, if you consume data-oriented services over http - in scenarios, for example, with the silverlight client, or with the winform / wpf interface over http.
WCF entity structure mapping:
With SP1, there is a lot of support for using entity structures in layered architectures. This includes support for intensive loading and context management. Of course, in this case we need to write services (and the logic of our methods). Or, if we have an entity framework model that is fully tied to db, we could generate most of the services, including the methods we need.
We recommend that you read http://msdn.microsoft.com/en-us/magazine/cc700340.aspx
Another alternative would be to use the EFPocoAdapter to have a simple POCO wrapper on top of the entity structure for dtos, instead of directly exposing the entity infrastructure classes. Right now this is a compass project for the next version of the Entity infrastructure http://code.msdn.microsoft.com/EFPocoAdapter .