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.

Responder a