PESQUISA



Pesquisa Avançada

LOGIN

PRÓX. LANÇAMENTOS

NEWSLETTER

Fique sabendo das novidades da Editora Ciência Moderna através do nosso Newsletter!

Cadastre-se aqui!

ENQUETE

Não há nenhuma enquete ativa no momento!

CADASTRO

Seja nosso cliente e veja as vantagens do nosso site!

Cadastre-se agora!


Política de Privacidade

PROMOÇÃO (CARTÃO)

Nas compras acima de R$100,00 pague em até 3 (três) vezes sem juros nos cartões de crédito VISA e MASTERCARD.

 

DETALHES DO LIVRO


LINQ em Ação


Fabrice Marguerie e outros


736 páginas - 1ª edição - 2009


ISBN: 9788573937640 - Formato: 16 x 23


De: R$129,00 Por: R$103,20       


indicar para um amigo


Aplicações .NET são orientadas a objetos, mas os dados, não. Esta é a situação quando você está usando uma base de dados relacionais, XML e muitos outros armazenamentos de dados, e para cada um deles você precisa de uma solução programática separada. A Consulta Integrada à Linguagem da Microsoft, conhecida como o LINQ (da sigla em inglês) é um conjunto da Estrutura .NET e extensões de linguagem que oferece uma maneira única e simples de se consultar dados de qualquer forma diretamente do C# 3 e do VB.NET 9. Em cima dele, seu código de persistência recebe a mesma checagem de sintaxe durante a compilação, a mesma tipificação estática e IntelliSense disponíveis para o resto de seu código.
Escrito para desenvolvedores C# e VB de todos os níveis, LINQ em Ação mergulha rapidamente do conhecimento zero inicial, até uma profundidade substancial, no final. Nele, você irá explorar características-chave da linguagem, como expressões lambda, métodos de extensão e tipos anônimos de dados, que tornam o LINQ possível. Seguindo um exemplo funcional, o livro leva você através de técnicas centrais de consulta a objetos, bases de dados relacionais e XML. Você dominará os Operadores Padrão de Consulta juntamente com as rapidamente familiares expressões de consulta do LINQ, com a sintaxe no estilo SQL. Você também aprenderá a construir soluções LINQ personalizadas tais como a genial “LINQ para Amazon”. O que há por dentro:
- Completamente testado com a versão final do .NET 3.5
- Todos os exemplos de código em C# 3 e VB.NET 9
- LINQ para Objetos, LINQ para SQL, LINQ para XML e muito mais
- Como personalizar o LINQ especificamente para um domínio

PARTE 1 - INICIANDO-SE - 1

1 - APRESENTANDO O LINQ - 3

1.1 QUE É O LINQ? - 6
VISÃO GERAL - 6
O LINQ COMO UM CONJUNTO DE FERRAMENTAS - 8
O LINQ COMO EXTENSÕES DE LINGUAGEM - 10
1.2 POR QUE PRECISAMOS DO LINQ? - 12
PROBLEMAS COMUNS - 13
SOLUCIONANDO UMA INCONGRUÊNCIA DE PARADIGMA - 16
O LINQ PARA O SOCORRO - 23
1.3 OBJETIVOS DO DESENHO E ORIGENS DO LINQ - 25
OS OBJETIVOS DO PROJETO LINQ – 25
UM POUCO DE HISTÓRIA - 27
1.4 PRIMEIROS PASSOS COM O LINQ PARA OBJETOS - 30
DE QUE VOCÊ PRECISA PARA COMEÇAR - 30
HELLO LINQ PARA OBJETOS - 32
1.5 PRIMEIROS PASSOS COM O LINQ PARA XML - 37
POR QUE NÓS PRECISAMOS DO LINQ PARA XML - 38
HELLO LINQ PARA XML - 40
1.6 PRIMEIROS PASSOS COM O LINQ PARA SQL - 46
RESUMO DAS CARACTERÍSTICAS DO LINQ PARA SQL - 47
HELLO LINQ PARA SQL - 47
UMA OLHADA MAIS DE PERTO NO LINQ PARA SQL - 53
1.7 RESUMO - 53

2 - ACRÉSCIMOS ÀS LINGUAGENS C# E VB.NET - 55

2.1 DESCOBRINDO OS NOVOS ACRÉSCIMOS À LINGUAGEM - 57
GERANDO UMA LISTA DE PROCESSOS EM EXECUÇÃO - 58
AGRUPANDO RESULTADOS NUMA CLASSE - 60
2.2 VARIÁVEIS LOCAIS IMPLICITAMENTE TIPIFICADAS - 62
SINTAXE - 62
MELHORANDO O NOSSO EXEMPLO COM O USO DE VARIÁVEIS LOCAIS IMPLICITAMENTE TIPIFICADAS - 64
2.3 INICIALIZADORES DE OBJETOS E COLEÇÕES - 66
A NECESSIDADE DOS INICIALIZADORES DE OBJETOS - 66
INICIALIZADORES DE COLEÇÕES - 67
MELHORANDO O NOSSO EXEMPLO COM O USO DE UM INICIALIZADOR DE OBJETOS - 69
2.4 EXPRESSÕES LAMBDA - 71
UMA REVISÃO SOBRE DELEGADOS - 71
MÉTODOS ANÔNIMOS - 74
APRESENTANDO AS EXPRESSÕES LAMBDA - 74
2.5 MÉTODOS DE EXTENSÃO - 82
CRIANDO UM MÉTODO DE EXTENSÃO DE AMOSTRA - 82
MAIS EXEMPLOS USANDO OS OPERADORES PADRÃO DE CONSULTA DO LINQ - 87
OS MÉTODOS DE EXTENSÃO EM AÇÃO NO NOSSO EXEMPLO - 89
ADVERTÊNCIAS - 91
2.6 TIPOS ANÔNIMOS - 94
USANDO OS TIPOS ANÔNIMOS PARA AGRUPAR DADOS EM UM OBJETO - 95
TIPOS SEM NOME, MAS AINDA ASSIM TIPOS - 95
MELHORANDO O NOSSO EXEMPLO COM O USO DE TIPOS ANÔNIMOS - 97
LIMITAÇÕES - 98
2.7 RESUMO – 101

3 - ELEMENTOS DE CONSTRUÇÃO DO LINQ - 105

3.1 COMO O LINQ ESTENDE O .NET - 107
REVISÃO DAS EXTENSÕES DE LINGUAGEM - 107
OS ELEMENTOS-CHAVE DA BASE DO LINQ - 109
3.2 APRESENTANDO AS SEQÜÊNCIAS - 109
IENUMERABLE - 110
REVISÃO SOBRE ITERADORES - 112
EXECUÇÃO RETARDADA DE CONSULTAS - 115
3.3 APRESENTANDO OS OPERADORES DE CONSULTA - 119
O QUE UM OPERADOR DE CONSULTA FAZ - 120
OS OPERADORES PADRÃO DE CONSULTA - 123
3.4 APRESENTANDO AS EXPRESSÕES DE CONSULTA - 125
O QUE É UMA EXPRESSÃO DE CONSULTA - 125
ESCREVENDO EXPRESSÕES DE CONSULTA - 126
COMO OS OPERADORES PADRÃO DE CONSULTA SE RELACIONAM COM AS EXPRESSÕES DE CONSULTA - 129
LIMITAÇÕES - 131
3.5 APRESENTANDO AS ÁRVORES DE EXPRESSÕES - 134
O RETORNO DAS EXPRESSÕES LAMBDA - 134
O QUE SÃO AS ÁRVORES DE EXPRESSÕES? - 135
IQUERYABLE, EXECUÇÃO RETARDADA DE CONSULTAS, O RETORNO - 139
3.6 DLLS E ESPAÇO DE NOMES DO LINQ - 141
3.7 RESUMO – 144


PARTE 2 - CONSULTANDO OBJETOS NA MEMÓRIA - 145

4 - FAMILIARIZANDO-SE COM O LINQ PARA OBJETOS - 147

4.1 APRESENTANDO O NOSSO EXEMPLO FUNCIONAL - 149
OBJETIVOS - 149
CARACTERÍSTICAS - 150
AS ENTIDADES FUNCIONAIS - 151
ESQUEMA DA BASE DE DADOS - 152
DADOS DE AMOSTRA - 153
4.2 USANDO O LINQ COM COLEÇÕES EM MEMÓRIA - 155
O QUE PODEMOS CONSULTAR? - 155
OPERAÇÕES SUPORTADAS - 161
4.3 USANDO O LINQ COM O ASP.NET E O WINDOWS FORM - 162
LIGAÇÃO DE DADOS A APLICAÇÕES WEB - 163
LIGAÇÃO DE DADOS PARA APLICAÇÕES WINDOWS FORMS - 171
4.4 FOCANDO OS PRINCIPAIS OPERADORES PADRÃO DE CONSULTA - 177
WHERE, O OPERADOR DE RESTRIÇÃO - 179
USANDO OPERADORES DE PROJEÇÃO - 180
USANDO DISTINCT 184
USANDO OS OPERADORES DE CONVERSÃO - 186
USANDO OS OPERADORES DE AGREGAÇÃO - 188
4.5 CRIANDO VISUALIZAÇÕES DE UM GRAFO OBJETO EM MEMÓRIA - 189
ORDENANDO - 189
CONSULTAS ANINHADAS - 191
AGRUPAMENTO - 194
USANDO JUNÇÕES - 196
PARTICIONAMENTO - 202
4.6 RESUMO - 208

5 - ALÉM DAS CONSULTAS BÁSICAS EM MEMÓRIA - 209

5.1 CENÁRIOS COMUNS - 211
CONSULTANDO COLEÇÕES NÃO GENÉRICAS - 212
AGRUPAMENTO POR MÚLTIPLOS CRITÉRIOS - 215
CONSULTAS DINÂMICAS - 219
LINQ PARA ARQUIVOS DE TEXTO - 233
5.2 PADRÕES DE DESENHO - 236
O PADRÃO DA CONSTRUÇÃO FUNCIONAL - 237
O PADRÃO FOREACH - 241
5.3 CONSIDERAÇÕES SOBRE DESEMPENHO - 244
FAVOREÇA UMA ABORDAGEM DE FLUXO - 244
TENHA CUIDADO COM EXECUÇÕES IMEDIATAS - 247
O LINQ PARA OBJETOS VAI PREJUDICAR O DESEMPENHO DO MEU CÓDIGO? - 250
PARA TER UMA IDÉIA DO CUSTO EXTRA DO LINQ PARA OBJETOS - 255
DESEMPENHO VERSUS CONCISÃO: UM DILEMA CRUEL? - 259
5.4 RESUMO – 261

PARTE 3 - CONSULTANDO DADOS RELACIONAIS – 263

6 - INICIANDO-SE COM O LINQ PARA SQL – 265

6.1 PULE DENTRO DO LINQ PARA SQL - 269
DEFININDO O MAPEAMENTO DO OBJETO - 271
CONFIGURANDO O DATACONTEXT - 274
6.2 LENDO DADOS COM O LINQ PARA SQL - 276
6.3 REFINANDO NOSSAS CONSULTAS - 281
FILTRAGEM - 281
ORDENANDO E AGRUPANDO - 284
AGREGAÇÃO - 286
JUNÇÃO - 288
6.4 TRABALHANDO COM ÁRVORES DE OBJETOS - 292
6.5 QUANDO É QUE MEUS DADOS SÃO CARREGADOS E POR QUE ISTO INTERESSA? - 297
CARREGAMENTO RELAXADO - 297
CARREGANDO IMEDIATAMENTE OS DETALHES - 300
6.6 ATUALIZANDO OS DADOS - 303
6.7 RESUMO – 306

7 - ESPIANDO OS BASTIDORES DO LINQ PARA SQL - 307

7.1 MAPEANDO OBJETOS PARA DADOS RELACIONAIS - 309
USANDO ATRIBUTOS INLINE - 310
MAPEAMENTOS COM ARQUIVOS XML EXTERNOS - 320
USANDO A FERRAMENTA SQLMETAL - 322
O LINQ TO SQL DESIGNER - 326
7.2 TRADUZINDO EXPRESSÕES DE CONSULTA PARA SQL - 329
IQUERYABLE - 330
ÁRVORES DE EXPRESSÕES - 332
7.3 O CICLO DE VIDA COMPLETO - 336
ACOMPANHANDO AS MUDANÇAS - 338
ENVIANDO AS ALTERAÇÕES - 341
TRABALHANDO COM DADOS DESCONECTADOS - 345
7.4 RESUMO – 348

8 - CARACTERÍSTICAS AVANÇADAS DO LINQ PARA SQL – 351

8.1 TRATANDO AS ALTERAÇÕES SIMULTÂNEAS - 353
CONCORRÊNCIA PESSIMISTA - 354
CONCORRÊNCIA OTIMISTA - 355
TRATANDO AS EXCEÇÕES DE CONCORRÊNCIA - 359
RESOLVENDO CONFLITOS COM TRANSAÇÕES - 363
8.2 CAPACIDADES AVANÇADAS DE BASES DE DADOS - 366
PASSAGEM DE SQL: RETORNANDO OBJETOS DE CONSULTAS SQL - 367
TRABALHANDO COM PROCEDIMENTOS ARMAZENADOS - 369
FUNÇÕES DEFINIDAS PELO USUÁRIO - 381
8.3 MELHORANDO O ENLACE DO NEGÓCIO - 386
CONSULTAS COMPILADAS - 386
CLASSES PARCIAIS PARA LÓGICAS FUNCIONAIS PERSONALIZADAS - 389
TIRANDO VANTAGEM DOS MÉTODOS PARCIAIS - 392
USANDO HERANÇA DE OBJETOS - 395
8.4 UM BREVE EXAME DO LINQ PARA ENTIDADES - 402
8.5 RESUMO - 405

PARTE 4 - MANIPULANDO XML - 409

9 - APRESENTANDO O LINQ PARA XML - 411

9.1 O QUE É UMA API PARA XML - 414
9.2 POR QUE PRECISAMOS DE UMA OUTRA API DE PROGRAMAÇÃO PARA XML? - 415
9.3 PRINCÍPIOS DO DESENHO DO LINQ PARA XML - 417
CONCEITO-CHAVE: CONSTRUÇÃO FUNCIONAL - 419
CONCEITO-CHAVE: CRIAÇÃO DE XML INDEPENDENTE DO CONTEXTO - 420
CONCEITO-CHAVE: NOMES SIMPLIFICADOS - 421
9.4 HIERARQUIA DE CLASSES DO LINQ PARA XML - 425
9.5 TRABALHANDO COM XML USANDO O LINQ - 429
CARREGANDO XML - 430
ANALISANDO XML - 432
CRIANDO XML - 434
CRIANDO XML COM OS LITERAIS XML DO VISUAL BASIC - 440
CRIANDO DOCUMENTOS XML - 443
ADICIONANDO CONTEÚDO AO XML - 448
REMOVENDO CONTEÚDO DO XML - 450
ATUALIZANDO CONTEÚDOS XML - 452
TRABALHANDO COM ATRIBUTOS - 455
SALVANDO XML - 457
9.6 RESUMO - 458

10 - CONSULTA E TRANSFORMAÇÃO DE XML COM O LINQ PARA XML – 459

10.1 MÉTODOS AXIAIS DO LINQ PARA XML - 462
ELEMENT - 465
ATTRIBUTE - 466
ELEMENTS - 468
DESCENDANTS - 469
ANCESTORS - 473
ELEMENTSAFTERSELF, NODESAFTERSELF, ELEMENTSBEFORESELF E NODESBEFORESELF - 475
PROPRIEDADES AXIAIS DE XML DO VISUAL BASIC - 476
10.2 OPERADORES PADRÃO DE CONSULTA 481
PROJETANDO COM SELECT - 484
FILTRANDO COM WHERE - 486
ORDENANDO E AGRUPANDO - 488
10.3 CONSULTANDO OBJETOS DO LINQ PARA XML COM O XPATH - 493
10.4 TRANSFORMANDO XML 495
TRANSFORMAÇÕES DO LINQ PARA XML - 496
TRANSFORMANDO OBJETOS LINQ PARA XML COM O XSLT - 500
10.5 RESUMO 502

11 - CENÁRIOS COMUNS DO LINQ PARA XML 505

11.1 CONSTRUINDO OBJETOS A PARTIR DE XML - 508
OBJETIVO - 508
IMPLEMENTAÇÃO - 510
11.2 CRIANDO XML A PARTIR DE GRAFOS DE OBJETOS - 515
OBJETIVO - 515
IMPLEMENTAÇÃO - 516
11.3 CRIANDO XML COM DADOS DE UMA BASE DE DADOS - 523
OBJETIVO - 523
IMPLEMENTAÇÃO - 526
11.4 FILTRANDO E MISTURANDO DADOS DE UMA BASE DE DADOS COM DADOS DE XML - 533
OBJETIVO - 533
IMPLEMENTAÇÃO - 535
11.5 LENDO XML E ATUALIZANDO UMA BASE DE DADOS - 541
OBJETIVO - 542
IMPLEMENTAÇÃO - 543
11.6 TRANSFORMANDO ARQUIVOS DE TEXTO EM XML - 562
OBJETIVO - 563
IMPLEMENTAÇÃO - 564
11.7 RESUMO - 567

PARTE 5 - LINQANDO TUDO EM CONJUNTO - 569

12 - ESTENDENDO O LINQ - 571

12.1 DESCOBRINDO OS MECANISMOS DE EXTENSÃO DO LINQ - 574
COMO OS ASPECTOS DO LINQ SÃO IMPLEMENTAÇÕES DO LINQ - 575
O QUE PODE SER FEITO COM EXTENSÕES PERSONALIZADAS DO LINQ - 577
12.2 CRIANDO OPERADORES PERSONALIZADOS DE CONSULTA - 579
MELHORANDO OS OPERADORES PADRÃO DE CONSULTA - 580
OPERADORES DE CONSULTA UTILITÁRIOS OU ESPECÍFICOS DE DOMÍNIO 583
12.3 IMPLEMENTAÇÕES PERSONALIZADAS DOS OPERADORES BÁSICOS DE CONSULTA - 590
REVISÃO DO MECANISMO DE TRADUÇÃO DE CONSULTAS - 591
ESPECIFICAÇÃO DO PADRÃO DE EXPRESSÕES DE CONSULTA - 592
EXEMPLO 1: TRILHANDO A EXECUÇÃO DOS OPERADORES PADRÃO DE CONSULTA - 595
LIMITAÇÃO: COLISÃO DE EXPRESSÕES DE CONSULTA - 597
EXEMPLO 2: OPERADORES NÃO GENÉRICOS, ESPECÍFICOS DE DOMÍNIO - 600
EXEMPLO 3: OPERADOR NÃO DE SEQÜÊNCIA - 604
12.4 CONSULTANDO UM SERVIÇO WEB: LINQ PARA AMAZON - 606
APRESENTANDO O LINQ PARA AMAZON - 607
EXIGÊNCIAS - 609
IMPLEMENTAÇÃO - 611
12.5 IQUERYABLE E IQUERYPROVIDER: EDIÇÃO AVANÇADA DO LINQ PARA AMAZON - 621
AS INTERFACES IQUERYABLE E IQUERYPROVIDER - 622
IMPLEMENTAÇÃO - 627
O QUE ACONTECE, EXATAMENTE - 629
12.6 RESUMO - 631

13 - LINQ EM TODAS AS CAMADAS - 633

13.1 VISÃO GERAL DA APLICAÇÃO LINQBOOKS - 635
CARACTERÍSTICAS - 363
VISÃO GERAL DA UI - 363
O MODELO DE DADOS - 639
13.2 O LINQ PARA SQL E A CAMADA DE ACESSO A DADOS - 641
REVISÃO DA ARQUITETURA TRADICIONAL DE 3 PONTOS - 641
PRECISAMOS DE UMA CAMADA SEPARADA DE ACESSO A DADOS, OU O LINQ PARA SQL É SUFICIENTE? - 642
AMOSTRA DE USOS DO LINQ PARA SQL NO LINQBOOKS - 651
13.3 O USO DO LINQ PARA XML - 660
IMPORTANDO DADOS DA AMAZON - 660
GERANDO ALIMENTAÇÕES RSS - 662
13.4 O USO DO LINQ PARA DATASET - 664
13.5 USANDO O LINQ PARA OBJETOS - 668
13.6 EXTENSIBILIDADE - 668
OPERADORES PERSONALIZADOS DE CONSULTA - 669
CRIANDO E USANDO UM PROVEDOR PERSONALIZADO DO LINQ - 670
13.7 UMA OLHADA NO FUTURO - 671
ASPECTOS PERSONALIZADOS DO LINQ - 671
LINQ PARA XSD, O LINQ PARA XML TIPIFICADO - 673
PLINQ: O LINQ ENCONTRA A COMPUTAÇÃO EM PARALELO - 674
LINQ PARA ENTIDADES, UMA INTERFACE DO LINQ PARA O ADO.NET ENTITY FRAMEWORK - 675
13.8 RESUMO - 675

APÊNDICE: OS OPERADORES PADRÃO DE CONSULTA - 677
RECURSOS - 687
ÍNDICE - 69
CAPÍTULO BÔNUS: TRABALHANDO COM O LINQ E DATASETS DISPONÍVEL ONLINE SOMENTE DE WWW.MANNING.COM/LINQINACTION

Fabrice Marguerie e outros - Fabrice Marguerie é arquiteto de software e desenvolvedor em Paris, França. Como personagem muito importante do C#, Fabrice tem trabalhado com o LINQ desde os primeiros protótipos.

Steve Eichert é arquiteto da Algorithmics, Inc. em Philadelphia, PA, Estados Unidos.

Jim Wooley é um importante componente do time do VB.NET, Mentor da Comunidade INETA na Georgia, Estados Unidos, e faz palestras com freqüência em eventos de usuários.

>> Site: http://


LEIA TAMBÉM


Do Mesmo Tema

Active Perl Guia do Programador

Algoritmos e Pascal - 2a Edição Revista e Atualizada

CDO & MAPI Programação com Visual Basic

Como Criar Web Pages Rápidas e Eficientes usando PHP e MYSQL

Compreendendo SOA Corporativa

Desenvolvendo Aplicações em Kylix

Desenvolvendo Aplicações na Web com PHP 4.0 ( Contendo Documentação Oficial Zend Api)

Desenvolvendo para Wap com WML

Design Criativo com HTML 2 ( Um Guia Prático para Design na Web)

Desvendando WML Script

Dominando o Visual Inter Dev 6

Fundamentos de PHP

Gerenciamento de Dados com Perl

HTML 4 Guia de Referencia do Programador

Introdução à Programação: do Algoritmo às Linguagens Atuais - Inclui Java, PHP, ASP e Objeto Pascal

Kylix A Ferramenta Linux para Programadores

Lógica de Programação - Uma Abordagem em Pascal

MDA Destilada : Princípios da Arquitetura Orientada por Modelos

Microsoft Office SharePoint Server 2007

Modelagem Visual com Rational Rose 2000 e UML

Perl - Guia Completo

PHP 4 Guia do Programador

Professional XML

Programação CGI com Perl (O Reilly)

Programação em QT

Programando com JScript. NET

Programando Microsoft Access com VBA - Volume 3

Seagate Crystal Reports 8 Guia Completo ESGOTADO

VBA Guia de Referência

Web Development Usando o Visual HTML Editor

WEB Mobile - Desenvolva Sites para Dispositivos Móveis com Tecnologias de Uso Livre: WML, XHTML MP, WCSS, PHP e JSP

XHTML 1.0 Guia de Referencia para Desenvolvimento na Web

XML Programação com VB e ASP

XSLT Guia Pratico

XSLT interagindo com XML e HTML

 
Copyright © 2005-2006 Editora Ciência Moderna Ltda - Produzido por Marcelo S. Macedo
Rua Alice Figueiredo, 46, Riachuelo, Rio de Janeiro, RJ - CEP:20950-150 - Tels:(21)2201-6662/2201-6998 - Fax:2201-6896
Horário de funcionamento: de segunda a sexta das 9:00h as 18:00h.