I'm not going to answer the question in terms of the specific technology, but I hope you find this point of view useful in making some decisions.
IMHO (and those of people who follow Domain-driven Design) you should keep your entity types internal and, thus, separate from your service types (aka value types). Very often entities are far too granular for a service interface anyway. For example, you may want to return a result from an operation at the service layer that is actually the combination of disparate pieces of data in your entity model. Not only that, but not all fields of an entity are necessarily intended to be directly mutable by the client. Also, if you start exposing your entitiy types directly you are in danger of marrying yourself to the underlying database structures which, over the course of time, may need to be refactored for scalability reasons. By separating your service's value types from the underlying entities that populate them you give yourself an imortant layer of flexability.
The downside is you're writing a lot of value types which are basically "empty shells" inside the service domain that usually look a lot like the entity types inside your data access layer. Plus you need mapping functions to translate values back and forth between the two types. To me, this is a small price to pay for the flexability that is provided down the road.