10. LINQ
Como falamos nas seções iniciais deste curso, o LINQ, uma
promessa antiga da Microsoft, veio para preencher o “vazio” existente entre a
orientação a objetos e os bancos de dados relacionais.
Na verdade o LINQ foi um pouco além disso, se tornando uma
linguagem padrão de manipulação de dados em diversos formatos. Existem três
forma de LINQ: LINQ para Objetos, LINQ para XML e LINQ para SQL.
Vamos agora fazer uma breve
introdução ao LINQ para SQL. Crie uma nova aplicação ASP.NET 3.5, na caixa de
dialogo Add New Item selecione LINQ to SQL Classes, de o nome da base de dados
que irá utilizar, no meu Caso, NorthWind:

O VS sugere que o arquivo será criado na pasta App_code,
clique em Sim.
Abra o Server Explorer, conecte com o banco de dados que irá
utilizar, expanda a pasta Tables:

Arraste as
tabelas que deseja utilizar para a área especifica do arquivo dbml. No exemplo
arrastei a entidade Customers e Orders. Note que o VS mapeou a tabela em duas
classes, inclusive alterando o nome para Customer e Order. O VS também indiciou
o relacionamento entre as classes:

Agora vá para o WebForm criado na sua aplicação. Na área de
design coloco que controle GridView, de um duplo clique sobre o formulário para
criar um manipular para o envento OnLoad do WebForm. Digite o seguinte código:

|
Protected Sub Page_Load(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Me.Load
Dim db As New NorthwindDataContext
Dim consulta = From
n In db.Customers Select
n
GridView1.DataSource = consulta
GridView1.DataBind()
End Sub
|

|
public partial class Default3 : System.Web.UI.Page
{
protected void
Page_Load(object sender, EventArgs e)
{
NorthwindDataContext db = new NorthwindDataContext();
var consulta = from
n in db.Customers select
n;
GridView1.DataSource = consulta;
GridView1.DataBind();
}
}
|
Rode a aplicação e observe o resultado.