An important aspect of Service-oriented Architecture (SOA) design is that service boundaries should be explicit (being technology-neutral or agnostic), which means hiding all the details of the implementation behind the service boundary. This includes not revealing or dictating which particular technology is used.
Furthermore, inside the implementation of a service, the code responsible for the data manipulation should be separated from the code responsible for the business logic. Therefore, in the real world, it is always a good practice to implement a WCF service in three or more layers. The three layers are the service interface layer, the business logic layer, and the data access layer.