You can follow repository pattern for this.
Before deciding the architecture, you need to keep in mind many factors like
1-Loose coupling between layers
2-Code maintainability
3-Code reusability
Always try to have a generic pattern approach for reusability and also try for minimal dependency amongst the layers.
The best thing is to put the .Edmx file in the Infrastructure folder rather than in the core folder.
Please follow the following link for Onion Architecture
Onion Architecture
This is very nice and layered architecture to follow.
There are many architectures but this is a new and very simple to use.
hope this helps
Thanks
:)