Your IMemberRepository
interface and its implementation MemberRepository
look right to me. That is how I structure my database code as well.
Moving to the MVC world, I would create view models which you populate from your data model. This will give you the flexibility of adding any attributes or additional properties that you need in your view.
This would be the workflow:
- Fetch object(s) from repository
- Populate view model objects with all the data from your repository object(s)
- Return the view model to your view from the controller