none
Localização dos arquivos Models e Repositórios RRS feed

  • Discussão Geral

  • Bom dia.

    A pasta Models ficam os arquivos dos modelos, OK, porém vejo sempre em sites que aconselham criar arquivos de Repositórios.

    Modelo Livro então criar um LivroRepository.   Onde geralmente fica gravado o arquivo LivroRepository?  Junto com Models?  Pensei em criar uma subpasta Models\Repositories mas quero saber como o mercado funciona.   Penso nisso pois se cada tabela terá seu Model então também terá seu Repository.  Ficará uma lista imensa, não?

    Também o arquivo de conexão DbContext.  Onde ele fica?  App_Code?

    Obrigado!

    sexta-feira, 16 de novembro de 2012 13:12

Todas as Respostas

  • Eu costumo criar um projeto separado com os repositorios pois assim você consegue utiliza-los em qualquer projeto que você tenha, seja ele desktop ou web.

    O nome da pasta deixo como repositories mesmo.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    sexta-feira, 16 de novembro de 2012 13:27
  • Então nessa dll terá os Models e os repositorios e a DbContext?

    Outra dúvida Murilo.

    Em meu projeto o usuário tem uma combo com as empresas que ele tem permissão de trabalhar.  Esse combo ficará no layout principal e não em cada view individual.

    Como eu mantenho o preenchimento do combo?  Pensei nas opções:

    1) No login eu gravar na Sessão algo tipo Session["EmpresasPermitidas"].  E daí na View do layout eu montar automaticamente com base na sessão.

    2) Criar um Helper @ComboEmpresasPermitidas e neste helper acessar o repositorio ou a sessino e pegar.  Não sei se é um desvio de regra por o Helper acessar os Models direto.

    Penso em criar Helper para varios casos onde serão dados exlclusivods para o usuario, conforme permissoes.  Mas não sei se foge a regra o Helper acessar os dados diretamente.   Por exemplo penso em criar um @MenuPrincipal que irá ver as permissões do usuário e montar o menu corretamente.

    Obrigado!

    sexta-feira, 16 de novembro de 2012 13:44
  • - Quanto melhor a separação melhor, ou seja, se você colocar os models em outro projeto fica melhor ainda. Só tome cuidado com referências circulares(dois projetos incluirem um ao outro)

    - No caso das empresas eu usaria o RenderAction na layout e ai carregava as empresas baseado no usuário logado.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    sexta-feira, 16 de novembro de 2012 13:53
  • Pensei em fazer assim então:

    Aplicação Principal MVC (GestorWebNet)
      Ref:  GWN_EF (para entidades do EF)
      Ref:  GWN_Repo (para repositórios e a DbContext)
      

    Acha que fica bom assim?

     

    sexta-feira, 16 de novembro de 2012 16:05
  • Sim.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    sexta-feira, 16 de novembro de 2012 16:09