WPF - Usando o Entity Data Model (EDM)
Nesta dica eu mostro como usar o Entity Data Model(EDM) para realizar o mapeamento Objeto Relacional(OR/M) com um banco de dados SQL Server.
No exemplo eu vou usar o banco de dados Northwind.mdf e mapear a tabela Customers.
Eu estou usando o Visual Studio 2010 beta 2 para criar o exemplo do artigo.
Abra o VS 2010 beta 2 e no menu File selecione New Project e a seguir selecione o template Visual Basic -> WPF Application informando o nome EDM_WPF;
Como nosso objetivo é mapear uma tabela do banco de dados SQL Server vamos incluir um Entity Data Model no projeto. Clicando com o botão direito sobre o nome do projeto selecione Add -> New Item , e , a seguir selecione o item ADO .NET Entity Data Model e aceite o nome padrão Model1.edmx (se desejar pode usar outro nome);
O assistente será aberto, selecione a opção New Connection e escolha o banco de dados Northwind.mdf , testando a conexão conforme a figura abaixo:
Na janela do assistente do EDM será apresentada a string da Entity Connection e o nome como ele será salva no arquivo App.Config;
A seguir selecione a tabela Customers e aceite o nome NORTHWNDModel e clique no botão Finish.
Neste momento será gerado o mapeamento OR/M para a tabela Customers e criando a entidade Customers que iremos usar para o acesso aos dados;
Para poder acessar os dados da tabela e exibi-los em controle DataGrid primeiro vamos incluir o controle DataGrid na janela MainWindow.xaml:
A seguir no evento Loaded vamos definir o código conforme abaixo:
Neste código usamos o contexto NORTHWNDEntities que representa o mapeamento ORM e nos da acesso as entidades geradas.
A seguir criamos uma instância do contexto e usando uma consulta LINQ selecionamos os 10 clientes da entidade Customers;
Em seguida atribuímos o resultado a controle DataGrid usando a propriedade ItemSource.
O resultado da execução do projeto é mostrado na figura abaixo:
Notou que usando o EDM realizamos o mapeamento OR/M e podemos trabalhar diretamente com a entidade que representa a tabela sem nos preocuparmos com conexão, comandos SQL, e objetos ADO .NET ?
Ficou mais fácil, ficou mais simples...
Pegue o projeto completo aqui: wpf_EDM.zip
Eu sei é apenas WPF , mas eu gosto...
Referências: