para EF tens N ferramentas que te fazem SQL -> EF ... e há outros ainda!
eu uso , assim qd a BD muda .. só tenho de ir aos meus objectos de negócio tratar, e como tudo é strongly type apanho em compilação coisas como mudanças de tabelas (nomes, campo) SP, Views... Além disso como trabalho muito contra interfaces nos meus objectos de negócio trata-se de trocar o dal por um que implemente a interface... Asssim passou de App SQL->Oracle->SQLite .... São formas de fazer é claro... pois não há silver bullets Best regards Cristóvão Morgado pt.linkedin.com/in/cmmorgado/ github.com/cmorgado - 2013/11/12 Hugo Ferreira <[email protected]> > Também já usei essa filosofia no passado com um DAL desenvolvido por mim > para .NET. > > Neste caso trata-se de um backend muito, muito dinâmico que permite 0 > tempo de programação no mesmo. A única coisa que faço é criar vos numa > pasta própria (mesmo isso se quiser posso eliminar mas o benefício-custo > não compensa). > > Quero manter este backend desta forma e para tal só mesmo colocando > metadados nas propriedades do vos a indicar qual é o campo físico que > mapeiam e implementar isso no backend genérico. > > Vou analisar se vale a pena o investimento mas é sempre algo que já fica > para o futuro. > > > No dia 12 de Novembro de 2013 às 11:19, Cristovão Morgado < > [email protected]> escreveu: > > Eu normalmente vou mais longe, tenho o meu DAL ... ORM whatever... >> >> E este nas operações mapeia os meus bussiness objects ... que depois ou >> uso directamente ou mapeio em models à medida de cada funcionalidade ... >> >> Best regards >> Cristóvão Morgado >> pt.linkedin.com/in/cmmorgado/ >> github.com/cmorgado >> >> - >> >> >> >> >> 2013/11/12 Hugo Ferreira <[email protected]> >> >>> Exacto Miguel, >>> >>> O que pretendo é fazer o frontend como deve de ser e deixar o trabalho >>> sujo para outra camada. Pode (e também na minha opinião devia de ser) feito >>> o trabalho de mudança dos nomes do backend sem ter de recorrer à BD no >>> entanto este ORM não me disponibiliza ferramentas para tal (metadados por >>> exemplo). >>> >>> Podia ter um vo com os nomes certos e programar a conversão no backend >>> sem necessitar do ORM, também é uma possibilidade no entanto isso iria >>> obrigar-me a fazer código no backend muito específico e este é um backend >>> muito dinâmico. Só crio VOs e o resto é 100% autonomo com serviços >>> genéricos para as operações de CRUD :) >>> >>> >>> >>> >>> No dia 12 de Novembro de 2013 às 11:11, Miguel Vaz >>> <[email protected]>escreveu: >>> >>> Hugo, >>>> >>>> Continuo a insistir: Se estás a programar o front end, mostras o que >>>> quiseres, com os nomes que quiseres, e a tua layer de negócio faz o serviço >>>> sujo por trás. Independentemente de nomes foleiros e sem utilizar views. >>>> Poderias usar SPs, mas não vejo necessidade. >>>> >>>> Miguel >>>> >>>> >>>> 2013/11/12 Hugo Ferreira <[email protected]> >>>> >>>>> Bem, >>>>> >>>>> A minha questão ainda continua por responder :P >>>>> É CodeIgniter que por sua vez este usa Active Record: >>>>> http://ellislab.com/codeigniter/user-guide/database/active_record.html >>>>> >>>>> >>>>> Cumps, >>>>> Hugo. >>>>> >>>>> >>>>> No dia 12 de Novembro de 2013 às 10:38, Daniel Gomes < >>>>> [email protected]> escreveu: >>>>> >>>>> Porque é que um ORM não permite flexibilidade? BTW qual é a linguagem >>>>>> de programação do backend? >>>>>> >>>>>> Daniel Gomes >>>>>> >>>>>> *p:* 00351 938185709 >>>>>> >>>>>> Linkedin <http://www.linkedin.com/in/danielcsgomes> | >>>>>> Blog<http://danielcsgomes.com/> >>>>>> | About Me <http://about.me/danielcsgomes> | >>>>>> Geeklist<http://geekli.st/danielcsgomes> >>>>>> >>>>>> ZCE PHP >>>>>> 5.3<http://www.zend.com/en/store/education/certification/yellow-pages.php#show-ClientCandidateID=ZEND019952> >>>>>> | CSM <http://www.scrumalliance.org/profiles/171004-daniel-gomes> | OCP >>>>>> - MySQL 5 >>>>>> Developer<http://danielcsgomes.com/certifications/i-am-an-oracle-certified-professional-mysql-5-developer/> >>>>>> >>>>>> >>>>>> No dia 12 de Novembro de 2013 às 10:21, Hugo Ferreira < >>>>>> [email protected]> escreveu: >>>>>> >>>>>>> Olá Miguel, >>>>>>> >>>>>>> Antes de mais obrigado pela tua resposta. >>>>>>> A razão é precisamente essa, ou seja, não me interessa como é que >>>>>>> estão criadas as tabelas na BD (com nome foleiros, etc ...), o que me >>>>>>> interessa é o código correcto no client-side. >>>>>>> >>>>>>> Uma vez que é usado uma BD já existente (não foi desenhada por mim e >>>>>>> considero uma aberração da natureza) e um ORM em que o mesmo não >>>>>>> permite a >>>>>>> flexibilidade que mencionas, vejo-me forçado a seguir um de 3 caminhos >>>>>>> (excepto se altera-se o código do ORM, o que não me apeteçe): >>>>>>> 1. Usar os nomes tal e qual como estão (just don't care). >>>>>>> 2. Usar views e estas esconderem os nomes horríveis, foleiros ou >>>>>>> mesmo estúpidos. >>>>>>> 3. Usar SPs. >>>>>>> >>>>>>> A opção 2 é a que mais me agrada mas a única dúvida é se não terá um >>>>>>> preço: performance. Se assim for, será descartada. >>>>>>> >>>>>>> >>>>>>> Cumprimentos, >>>>>>> Hugo. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> No dia 12 de Novembro de 2013 às 10:13, Miguel Vaz < >>>>>>> [email protected]> escreveu: >>>>>>> >>>>>>> Qual a razão de utilizares views? E que queres dizer com mapear? A >>>>>>>> "interface" não poderia dispensar as views? Ou seja, programaticamente >>>>>>>> poderias fazer e mostrar o que quiseres das tabelas, com os nomes que >>>>>>>> bem >>>>>>>> te apetecer, mesmo que estas originalmente tenham campos mal feitos, >>>>>>>> nomes >>>>>>>> estranhos, foleiros, mal dizentes e até ordinários. :-) Dá um pouco >>>>>>>> mais de >>>>>>>> informação. :-) >>>>>>>> >>>>>>>> >>>>>>>> Cumprimentos, >>>>>>>> Miguel Vaz >>>>>>>> >>>>>>>> >>>>>>>> 2013/11/12 Hugo Ferreira <[email protected]> >>>>>>>> >>>>>>>>> Bom dia, >>>>>>>>> >>>>>>>>> >>>>>>>>> Hoje trago aqui uma dúvida que não tem nada haver com RIAs mas sim >>>>>>>>> com SQL e não encontrei a resposta que procurava no Google. >>>>>>>>> >>>>>>>>> Tendo uma base de dados com tabelas e campos definidos, sem poder >>>>>>>>> alterar os nomes dos mesmos e recorrendo a views simples para mapear >>>>>>>>> essas >>>>>>>>> mesmas tabelas e campos, conseguimos criar uma "interface" para o >>>>>>>>> exterior >>>>>>>>> com os nomes de tabelas de campos desejados. >>>>>>>>> Sendo uma view simples, naturalmente que as operações de CUD estão >>>>>>>>> disponíveis. >>>>>>>>> >>>>>>>>> A minha questão é: Usando views para mapear todas as tabelas da >>>>>>>>> BD, não vai ter impacto na performance ? >>>>>>>>> Opcionalmente sei que posso recorrer a SPs mas para mim seria uma >>>>>>>>> opção de recurso. >>>>>>>>> >>>>>>>>> Mais tarde também poderei fazer um teste com 1 milhão de registos >>>>>>>>> no entanto gostaria de saber opiniões. >>>>>>>>> >>>>>>>>> >>>>>>>>> Cumps, >>>>>>>>> Hugo. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List >>>>>>>>> da Comunidade Portuguesa de Rich Internet Applications - >>>>>>>>> www.riapt.org" dos Grupos do Google. >>>>>>>>> >>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails >>>>>>>>> deste grupo, envie um email para >>>>>>>>> [email protected]. >>>>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para >>>>>>>>> [email protected]. >>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>>> Para mais opções, consulte >>>>>>>>> https://groups.google.com/groups/opt_out. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List >>>>>>>> da Comunidade Portuguesa de Rich Internet Applications - >>>>>>>> www.riapt.org" dos Grupos do Google. >>>>>>>> >>>>>>>> Para anular a subscrição deste grupo e parar de receber emails >>>>>>>> deste grupo, envie um email para [email protected] >>>>>>>> . >>>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para >>>>>>>> [email protected]. >>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out >>>>>>>> . >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>>> dos Grupos do Google. >>>>>>> >>>>>>> Para anular a subscrição deste grupo e parar de receber emails deste >>>>>>> grupo, envie um email para [email protected]. >>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para >>>>>>> [email protected]. >>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out. >>>>>>> >>>>>> >>>>>> -- >>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>> dos Grupos do Google. >>>>>> >>>>>> Para anular a subscrição deste grupo e parar de receber emails deste >>>>>> grupo, envie um email para [email protected]. >>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para >>>>>> [email protected]. >>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out. >>>>>> >>>>> >>>>> -- >>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>> dos Grupos do Google. >>>>> >>>>> Para anular a subscrição deste grupo e parar de receber emails deste >>>>> grupo, envie um email para [email protected]. >>>>> Para publicar uma mensagem neste grupo, envie um e-mail para >>>>> [email protected]. >>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out. >>>>> >>>> >>>> -- >>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>> dos Grupos do Google. >>>> >>>> Para anular a subscrição deste grupo e parar de receber emails deste >>>> grupo, envie um email para [email protected]. >>>> Para publicar uma mensagem neste grupo, envie um e-mail para >>>> [email protected]. >>>> Visite este grupo em http://groups.google.com/group/riapt. >>>> Para mais opções, consulte https://groups.google.com/groups/opt_out. >>>> >>> >>> -- >>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>> dos Grupos do Google. >>> >>> Para anular a subscrição deste grupo e parar de receber emails deste >>> grupo, envie um email para [email protected]. >>> Para publicar uma mensagem neste grupo, envie um e-mail para >>> [email protected]. >>> Visite este grupo em http://groups.google.com/group/riapt. >>> Para mais opções, consulte https://groups.google.com/groups/opt_out. >>> >> >> -- >> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos >> Grupos do Google. >> >> Para anular a subscrição deste grupo e parar de receber emails deste >> grupo, envie um email para [email protected]. >> Para publicar uma mensagem neste grupo, envie um e-mail para >> [email protected]. >> Visite este grupo em http://groups.google.com/group/riapt. >> Para mais opções, consulte https://groups.google.com/groups/opt_out. >> > > -- > Recebeu esta mensagem porque está inscrito no grupo "Mailing List da > Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos > Grupos do Google. > > Para anular a subscrição deste grupo e parar de receber emails deste > grupo, envie um email para [email protected]. > Para publicar uma mensagem neste grupo, envie um e-mail para > [email protected]. > Visite este grupo em http://groups.google.com/group/riapt. > Para mais opções, consulte https://groups.google.com/groups/opt_out. > -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para anular a subscrição deste grupo e parar de receber emails deste grupo, envie um email para [email protected]. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Visite este grupo em http://groups.google.com/group/riapt. Para mais opções, consulte https://groups.google.com/groups/opt_out.
