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…








