In an ideal world, everything would be separated with no coupling. However, in the real world, that isn't always pragmatic.
Taking your scenario, unless you are using an N-tiered architecture (which you don't appear to be, more a layered one) or your service is only interested in a very limited amount of data from your entities, I would say DTOs are over kill. CodeFirst entities are very lightweight compared to the proxy entities generated by EF so the introduction of a DTO just to carry that same information to another layer is unnecessary.
Personally I would make my entities implement a common interface which I would then use to return from my service layer instead. It means your services are effectively tied to your DAL (which I guess isn't that great) but in your circumstance it would do the job. This gives you the flexibility to then swap out for actual DTOs later in your service layer if you change your mind later.