Boa tarde Neto,
Eu recomendo criar as classes concretas do repositorio em uma class library separada e as interfaces do repositorio junto dos modelos.
Assim eu consigo ter por exemplo um projeto PROJECTNAME_EF_REPOSITORIOS que são os repositorios implementados utilizando o EF e caso voce decida por usar NHibernate basta criar o projeto PROJECTNAME_NHibernate_REPOSITORIOS e fazer a implementação para o
NHibernate.
Lembrando que seu CORE deve sempre se manter na abstração (interface) para que seja possivel efetuar a alteração de toda sua camada de acesso a dados sem nenhuma alteração de codigo em seu CORE.
Att,
Breno Queiroz
StudioWs3 - Soluções Web