DataARTIGO

WPF – Usando o EDM do Entity Framework para exibir dados em um DataGrid

Veremos 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. 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á salvo 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 criada 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 dá acesso às 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

Eu sei, é apenas WPF, mas eu
gosto…

é referência em Visual Basic no Brasil e autor dos livros "Aprenda Rápido: ASP" e "ASP, ADO e Banco de Dados na Internet". Mantenedor do site macoratti.net.

Ver perfil