• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

erhnam

Mapeamento O-R

6 mensagens neste tópico

Já me fartei de procurar pela net por um tutorial para fazer isto e não encontrei, por isso achei que vocês talvez me possam ajudar :D

Estou a criar uma web application em ASP.NET e não quero estar a usar uma forma externa ao Visual Studio para fazer a base de dados.

O que pretendo fazer, assim em traços gerais, é desenhar um diagrama de classes no Visual Studio e a partir daí serem geradas as bases de dados no SQL Server (ou noutra coisa qualquer).

Essas classes são as entidades que serão manipuladas no resto da aplicação.

Será que isto é possível?

Eu estava inclinado a pensar que sim porque outras frameworks web funcionam assim, mas na montanha de coisas que o VS faz ainda não consegui descobrir como raio se faz isso. Criar automaticamente objectos para acesso aos dados de uma base de dados existente, sim senhor, mas o contrário ainda não encontrei.

Obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hum... espero que já tenhas resolvido o teu problema, mas se não resolveste, apenas usando as ferramentas que o VS dispõe, se não me engano, não consegues, o VS não oferece uma tecnologia ORM, terás de usar uma das várias que existem.

Um que tenho usado já em alguns projectos, sejam aplicações desktop sejam aplicações web em Java é o Hibernate que possui uma versão para .net, o NHibernate, podes ver aqui: http://www.hibernate.org/343.html

Se já for muito tarde fica pelo menos a resposta ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cheguei de facto à conclusão que o que estava a querer fazer não é possível. Optei então por fazer toda a estrutura da base de dados no Visio em diagramas UML (ou algo do género) e que depois permite a geração da BD automaticamente no SQL Server.

A segunda parte consiste em aceder aos dados de uma forma o mais genérica e transparente possível. Acho que é para isso que o Hibernate é usado e também me falaram de outro, o netTiers.

Ao investigar estes dois, deparei-me com um tal do ADO.NET Entity Framework que pelas descrições permite-me fazer exactamente o que preciso, que é ir à BD e abstrair aquelas tabelas todas e respectivas relações num modelo de objectos. Esta framework está ainda em versão beta, pelo que ainda estou um pouco reticente em usá-la, mas se não me deparar com nenhum problema de maior, deverá ser mesmo esta a minha escolha.

Se alguém andar a trabalhar com isto, agradeço qualquer dica que me possam dar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se usares o VS 2008 ja pode com o Linq podes pegar numa Base de dados e criar classes que interajem directamente com a BD.

Com tabelas, store procedures, etc.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Cheguei de facto à conclusão que o que estava a querer fazer não é possível.

Então acho que chegaste à conclusão errada ;), o hibernate é uma tecnologia ORM, ela faz exactamente o que querias. Através das classes, criadas por exemplo por um diagrama de classes, cria toda a estrutura da base de dados e abstrai completamente a existência da base de dados, nem sequer precisas saber qual  o motor de base de dados que estás a usar.

Essa framework ADO.net parece interessante mas não conhecia por isso não sei como funciona, mas se é o que precisas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hhmm

Realmente não me tinha apercebido de que o Hibernate faz tudo isso.

Enfim, agora estou com o dilema entre usar a nHibernate e a tal Entity Framework...

Mas porque é que tem de haver sempre uma data de formas de fazer a mesma coisa?  :wallbash:

Alguém com experiência nas duas que possa dar feedback? Ou com experiência em alguma outra framework que permita fazer o mesmo.

Thks!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora