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:


José Carlos Macoratti