DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
GUSTAVO MARCON
 

País: Brasil
Estado: MT
Cidade: Nova Mutum
Mensagens: 19
 Postado em: 3/9/2010 11:55:32 AM

Olá a todos.

 
Pessoal, estou desenvolvendo em C# com Windows Forms utilizando o conceito de MVC, mas estou enfrentando uma dúvida referente ao o que meus métodos de busca devem retornar.
 
Digamos que eu tenho uma grid no meu form e quero poder preenche-lo chamando um método da minha camada DAL (ou DAO).
Digamos que esta grid deve ser populada com uma lista de Clientes.
 
Eu poderia executar a query e devolver um DataTable já populado para minha grid fazendo grid.DataSource = dal.metodoQueDevolveDataTable(); ou eu poderia devolver uma lista de objetos Cliente.. (  List<Cliente>() ).
 
Ao meu ver, como estou desenvolvendo em 3 camadas, acho que o mais correto é sempre trabalhar somente com meus objetos, não sair recebendo ou devolvendo nos meus métodos tipos como DataSet ou DataTable.
 
Porém, usando DataSet e DataTable eu tenho a vantagem de conseguir relacionar os DataTable, trabalhar com os dados em memória, etc... ( Como se fosse um ClientDataSet do Delphi ).
 
Se tiver alguma forma (prática) de receber um List<Cliente> e atribuir para um DataTable que está vinculado a um DataSet do meu form, e eu trabalhar em tela com o DataTable seria uma solução para o meu problema.
 
Não sei se consegui me explicar bem. Qualquer dúvida só perguntar.
 
Obrigado !
Vinicius Mesquita
 

País: Brasil
Estado: SP
Cidade: Sao Paulo
Mensagens: 24
 Postado em: 3/9/2010 1:27:34 PM
Boas,
 
Não vejo problema algum do jeito que você pretende "bindar" o seu GridView, de qualquer jeito você criará uma espécie de "dependência" das camadas, eu criaria um objeto na controller que receberia um DataSet/DataTable já mapeados e na View teria um ObjectDataSource vinculado ao meu GridView, setando no controller o dado recebido da Model. Creio que não existe "certos" e "errados" para se solucionar um problema. Existe sim, vantagens e desvantagens( Essa é minha opinião, OK?).
Sugiro que você de uma olhada neste artigo bem interessante que aborda exatamente o tema que você procura esclarecer: http://msdn.microsoft.com/en-us/library/Ee817644(pandp.10).aspx

Espero ter ajudado.

 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03