ADO.NET Entity Framework, Banco de dados, C#, LINQ, MVP ShowCast, Visual Studio

Palestra no MVP ShowCast 2013: Entity Framework 6

O evento MVP ShowCast 2013

MVP ShowCast Logo

O MVP ShowCast é um evento virtual gratuito sobre tecnologias da Microsoft, sendo composto por uma série de webcasts transmitidos ao vivo e gravados para serem disponibilizados depois. O evento foi idealizado e é organizado por MVPs do Brasil com apoio da Microsoft. Mais informações no site do evento: http://mvpshowcast.azurewebsites.net.

A palestra Entity Framework 6

No dia 6 de dezembro de 2013, eu apresentei o webcast da palestra Entity Framework 6 no evento virtual MVP ShowCast 2013.

Na palestra, eu apresentei alguns conceitos iniciais importantes, como a técnica de desenvolvimento denominada Mapeamento Objeto-Relacional (Object Relational Mapping – ORM) que permite automatizar tarefas de programação orientada a objetos com dados armazenados em bancos de dados relacionais. Então, eu comentei sobre dois dos principais frameworks ORM para a plataforma .NET: Entity Framework (Open Source – Microsoft) e NHibernate (Open Source – http://nhforge.org).

Na sequência, eu comentei sobre a versão estável atual, na época da apresentação, do framework da Microsoft para mapear objetos de domínio para dados relacionais: Entity Framework 6.0.1, liberada em 17 de outubro de 2013. Porém, uma semana após a apresentação (dia 13 de dezembro de 2013), a Microsoft liberou uma nova versão do framework: Entity Framework 6.0.2. A versão 6.0.2 corrige alguns problemas de desempenho (e outros bugs) nas versões 6.0.0 e 6.0.1. A lista completa de correções desta versão pode ser lida, em inglês, no site do CodePlex em: https://entityframework.codeplex.com/workitem/list/advanced?status=Closed&release=EF%206.0.2&reasonClosed=Fixed.

Eu também comentei sobre o desenvolvimento em código aberto do Entity Framework no CodePlex em: http://entityframework.codeplex.com. Seguem alguns dos diversos recursos disponíveis: código-fonte, compilações noturnas, documentação, especificações de características, acompanhamento de problemas e notas de reuniões de design.

Eu citei os modelos de desenvolvimento para desenvolvimento com o Entity Framework: Database First, Model First e Code First. Depois ilustrei uma exemplo de intermediação que o Entity Framework faz entre uma aplicação ou serviço e um banco de dados relacional.

Finalmente, eu apresentei as principais novidades do Entity Framework 6 e demonstrei quatro delas:

  1. Convenções Code First personalizadas
  2. Logging de comandos de banco de dados
  3. Mapeamento Code First de stored procedures
  4. Consulta e salvamento assíncrono

Seguem os slides da palestra Entity Framework 6.

ADO.NET Entity Framework, C#, LINQ, SQL Server, SQLSaturday

SQLSaturday #253 | Brasília 2013: Entenda LINQ (Language-Integrated Query) e sua sintaxe na linguagem C#

O que é o SQLSaturday?

SQLSaturday, que é uma iniciativa do Professional Association for SQL Server (PASS), é um programa que fornece as ferramentas e o conhecimento necessário para grupos e líderes de eventos para organizar e realizar um evento de treinamento para profissionais de SQL Server. O SQLSaturday apoia a realização de eventos locais para:

  • encorajar o aumento de membros de grupos de usuários locais;
  • fornecer profissionais de SQL Server locais com excelentes treinamentos de SQL Server e oportunidades de networking;
  • ajudar no desenvolvimento, crescimento e encorajamento de novos palestrantes.

site do SQLStaurday pode ser visitado em SQLSaturday.com.

SQLSaturday #253 | Brasília 2013

SQLSaturday253-Brasilia2013SQLSaturday #253 | Brasília 2013 foi a primeira edição do evento no Distrito Federal. O evento foi realizado na unidade de Taguatinga-DF da Faculdade Projeção, no dia 28 de setembro de 2013 (sábado). A entrada foi gratuita e todos os custos foram cobertos por doações e patrocínios.

O evento foi dividido em 4 trilhas, que foram realizadas paralelamente: AcadêmicoAdministraçãoBusiness Intelligence e Desenvolvimento.

A programação completa da edição número 253 do evento, realizada em Brasília-DF, pode ser encontrada em: http://www.sqlsaturday.com/253/schedule.aspx.

Eu participei do SQLSaturday #253 realizando as duas seguintes palestras:

Palestra: Entenda LINQ (Language-Integrated Query) e sua sintaxe na linguagem C#

Esta foi a minha segunda palestra no evento e foi realizada na trilha Acadêmico no dia 28/09/2013 (sábado), das 14h às 15h10. Eu apresentei as vantagens da integração do LINQ na linguagem C#, bem como em outras linguagens da plataforma .NET, e o poder fornecido na consulta de fontes de dados variadas: bancos de dados relacionais, como SQL Server, Oracle e DB2, arquivos XML e coleções de objetos .NET na memória, dentre outras. A grande vantagem está na capacidade de fornecer uma semântica similar à da linguagem SQL (Structured Query Language) utilizada em bancos de dados relacionais para a linguagem C#. Sendo assim, se houve um LINQ provider para uma fonte de dados, então você pode usar o poder do LINQ para fazer consultas com uma semântica similar à do SQL, permitindo realizar operações de projeçãofiltragemordenaçãojunçãoagrupamentoagregação, dentre outras.

Abaixo, seguem os slides da apresentação realizada no evento.

Demonstração

Na demonstração, eu parti de uma aplicação ASP.NET MVC 4 que criei especialmente para o evento, porém sem nenhum acesso a fonte de dados. Eu demonstrei como usar o LINQ para consultar um banco de dados SQL Server por meio do provider Entity Framework deste banco de dados, consultar um documento XML por meio do LINQ para XML e consultar uma coleção de objetos na memória por meio do LINQ para Objetos.

Consulta com LINQ para XML 

ADO.NET Entity Framework, C#, LINQ, SQL Server, SQLSaturday

SQLSaturday #253 | Brasília 2013: Mapeamento Objeto-Relacional com Entity Framework

O que é o SQLSaturday?

O SQLSaturday, que é uma iniciativa do Professional Association for SQL Server (PASS), é um programa que fornece as ferramentas e o conhecimento necessário para grupos e líderes de eventos para organizar e realizar um evento de treinamento para profissionais de SQL Server. O SQLSaturday apoia a realização de eventos locais para:

  • encorajar o aumento de membros de grupos de usuários locais;
  • fornecer profissionais de SQL Server locais com excelentes treinamentos de SQL Server e oportunidades de networking;
  • ajudar no desenvolvimento, crescimento e encorajamento de novos palestrantes.

O site do SQLStaurday pode ser visitado em SQLSaturday.com.

SQLSaturday #253 | Brasília 2013

SQLSaturday253-Brasilia2013O SQLSaturday #253 | Brasília 2013 foi a primeira edição do evento no Distrito Federal. O evento foi realizado na unidade de Taguatinga-DF da Faculdade Projeção, no dia 28 de setembro de 2013 (sábado). A entrada foi gratuita e todos os custos foram cobertos por doações e patrocínios.

O evento foi dividido em 4 trilhas, que foram realizadas paralelamente: Acadêmico, Administração, Business Intelligence e Desenvolvimento.

A programação completa da edição número 253 do evento, realizada em Brasília-DF, pode ser encontrada em: http://www.sqlsaturday.com/253/schedule.aspx.

Eu participei do SQLSaturday #253 realizando as duas seguintes palestras:

Palestra: Mapeamento Objeto-Relacional com Entity Framework

Esta foi a minha primeira palestra no evento e foi realizada na trilha Desenvolvimento no dia 28/09/2013 (sábado), das 10h às 11h10. Eu apresentei uma visão geral sobre o conceito de mapeamento-objeto relacional e dois dos principais frameworks usados na plataforma .NET: Entity Framework (Microsoft/Open Source) e NHibernate (Open Source). Além disso, eu comentei sobre algumas das principais novidades do Entity Framework 5 e do Entity Framework 6.

Abaixo, seguem os slides da apresentação realizada no evento.

Demonstração

Na demonstração, eu parti de uma aplicação ASP.NET MVC 4 que criei especialmente para o evento, porém sem nenhum acesso a fonte de dados. Então, eu comentei sobre cada um dos modelos de desenvolvimento com Entity Framework 5: Database First, Model First e Code First. Finalmente, eu também demonstrei como usar a classe System.Data.Entity.DbContext para intermediar o fluxo de dados entre um banco de dados SQL Server e objetos de entidades do modelo conceitual mapeadas. Finalmente, eu demonstrei como monitorar as instruções SQL enviadas para o SQL Server por meio da ferramenta SQL Profiler.

SQLSaturday #253 | Brasília 2013 - Demonstração Entity Framework

.NET Framework, ADO.NET Entity Framework, ASP.NET MVC, ASP.NET Web Forms, C#, CLR, DLR, LINQ, Microsoft, Programação assíncrona, TDC, Visual Studio, WF, WPF

TDC 2012 Goiânia: Trilha .NET – Novidades do .NET Framework 4.5

The Developers Conference 2012

O evento The Developers Conference (TDC) 2012

O The Developers Conference (TDC) é um evento com várias trilhas de temas específicos em cada dia do evento mais a trilha Stadium que é uma seleção de palestras das demais trilhas do dia. O evento é uma iniciativa da Globalcode.

Minha primeira palestra no TDC 2012 Goiânia

The Developers Conference 2012 Goiânia
Datas: 20 e 21 de outubro de 2012
Faculdade Fasam

No dia 20/10/2012, das 17h40min às 18h30min, eu apresentei a palestra Novidades do .NET Framework 4.5 na Trilha .NET do evento TDC 2012 Goiânia. Esta palestra foi apresentada com transmissão ao vivo pela Internet.

Mais informações sobre a trilha .NET podem ser encontradas no site do evento em:
TDC 2012 Goiânia – Trilha .NET

Apresentação teórica

Nesta palestra, eu apresentei um resumo das principais novas características e melhorias do .NET Framework 4.5 para desenvolvedores da plataforma .NET. Eu abordei os seguintes tópicos:

  • O .NET Framework
  • .NET Framework: Versões
  • Linguagem C#: Versões
  • Suporte a async & await
  • Biblioteca de classes portátil
  • .NET para Windows Store apps
  • Entity Framework 5
  • ASP.NET Web Forms 4.5
  • ASP.NET MVC 4
  • Windows Communication Foundation (WCF) 4.5
  • Windows Presentation Foundation (WPF) 4.5
  • Windows Workflow Foundation (WF) 4.5
  • Melhorias na Base Class Library
  • Links úteis

Slides da apresentação

Projeto de demonstração

Projeto do Visual Studio 2012 com a demonstração da palestra:
Demonstração de suporte a programação assíncrona no .NET Framework 4.5

.NET Framework, C#, Evento, LINQ, Microsoft, Microsoft Tech·Ed, Visual Studio

TechEd Brasil 2011: DEV 303 – Atualizando suas habilidades de programação com a linguagem C# para ser um desenvolvedor mais efetivo

Minha primeira palestra no TechEd Brasil 2011

No dia 29/09/2011, das 17h10min às 18h20min, eu apresentei a palestra DEV 303 – Atualizando suas habilidades de programação com a linguagem C# para ser um desenvolvedor mais efetivo no evento TechEd Brasil 2011. O TechEd é o maior e mais completo evento técnico realizado pela Microsoft no Brasil.

Apresentação teórica

Nesta palestra, eu apresentei uma visão geral da evolução da linguagem de programação C# desde o lançamento da versão 1.0, em fevereiro de 2002, até a versão 4, em março de 2010.

Depois, eu também apresentei a principal novidade da linguagem C# 5: suporte direto da linguagem à programação assíncrona. Este novo recurso permite que o desenvolvedor realize programação assíncrona de modo similar à programação síncrona. Além disto, eu também comentei sobre as principais novidades esperadas para a versão posterior (C# 6?), que atualmente é conhecida pelo nome de projeto Roslyn.

Abaixo, seguem os tópicos que foram abordados de cada versão da linguagem C#.

Linguagem C# 1.0

  • A evolução da linguagem C#
    Cronograma dos lançamentos das versões da linguagem C#.
  • Sistema de tipos
    Tipos por valor, tipos por referência e sistema unificado de tipos.
  • Memória e instruções
    Gerenciamento automático de memória e instruções inspiradas em C/C++ e Java.
  • Herança e membros de classe
    Suporte a herança simples e membros possíveis em classes.
  • Atributos e outros recursos
    Atributos, namespaces, assemblies e versionamento.

Novidades da linguagem C# 2.0

  • Generics e Iterators
  • Tipos parciais e tipos anuláveis
  • Métodos anônimos e qualificador de apelidos de namespace
  • Classes estáticas e possibilidade de definir diferentes níveis de acesso nos métodos de leitura e escrita de uma propriedade

Novidades da linguagem C# 3.0

  • Tipos implícitos em variáveis locais
  • Métodos de extensão
  • Tipos anônimos
  • Iniciadores de objetos
  • Iniciadores de coleções
  • Métodos parciais
  • Propriedades automáticas
  • Expressões lambda
  • Árvores de expressão
  • Expressões de consulta
  • LINQ (Language INtegrated Query)

Novidades da linguagem C# 4

  • Parâmetros opcionais e nomeados
  • Interoperabilidade com COM
  • Objetos com tipagem dinâmica
  • Covariância e contravariância

Novidades da linguagem C# 5

  • Task-based Asynchronous Pattern (TAP)
  • Versão assíncrona via TAP
  • Funções assíncronas
  • Windows Runtime
  • async e await

Projeto Roslyn (C# 6?)

  • Compiler-as-a-Service (CaaS)
  • APIs para o CaaS

Resumo

A evolução da linguagem C#

  • C# 1.0 em fevereiro de 2002 (.NET Framework 1.0 / Visual Studio .NET)
  • C# 2.0 em novembro de 2005 (.NET Framework 2.0 / Visual Studio 2005)
  • C# 3.0 em novembro de 2007 (.NET Framework 3.5 / Visual Studio 2008)
  • C# 4 em abril de 2010 (.NET Framework 4 / Visual Studio 2010)
  • C# 5 em 2012 (.NET Framework 4.5 / Visual Studio 11)
    • Suporte ao Windows Runtime
    • Facilidade na programação assíncrona
  • Projeto Roslyn
    • Compiler-as-a-Service (CaaS)
    • Visual Studio Roslyn CTP
      • Previsão: meados de outubro/2011

Slides da apresentação

Demonstração realizada na apresentação

Durante a apresentação, eu fiz uma demonstração sobre as facilidades incorporadas à linguagem C# 5 para programação assíncrona com as novas palavras-chaves: async e await. A demonstração foi realizada com o Microsoft Visual Studio 11 Developer Preview, que está disponível para download no site da Microsoft no MSDN.

O código da demonstração pode ser baixado em:
Solução do Visual Studio 11 Developer Preview com a demonstração realizada no TechEd Brasil 2011

Vídeo da apresentação

A apresentação da minha palestra foi gravada durante o evento, porém eu não sei se o vídeo será disponibilizado para o público. Se for, eu estarei atualizando este post com o link para baixar ou assistir ao vídeo sob demanda.

LINQ, Microsoft

Meu artigo de LINQ com C# na .NET Magazine foi convertido para LINQ com Delphi na Clube Delphi 124 Online

No meu post anterior, eu comentei sobre o “Meu artigo sobre expressões de consulta LINQ na edição 78 da revista .NET Magazine“.

No meu artigo original, eu fiz uma apresentação teórica sobre as expressões de consulta LINQ que foram introduzidas na linguagem de programação C# na versão 3.0. Além disto, eu fiz demonstrações de todas as cláusulas de expressões de consulta da linguagem C# com uso do LINQ to Objects para consultar o sistema de arquivos do Windows.

Na edição 124 da revista Clube Delphi, o Rodrigo Araujo aproveitou a teoria e as demonstrações fazendo conversões das sintaxes do LINQ com C# para LINQ com Delphi e das referências ao IDE do Visual Studio para o IDE do Delphi Prism. O artigo ficou disponível exclusivamente online.

Capa da Clube Delphi 124
Capa da Clube Delphi 124

Um fragmento do artigo pode ser lido gratuitamente no site da DevMedia nos seguintes endereços:

.NET Framework, ADO.NET Entity Framework, ASP.NET AJAX, ASP.NET MVC, ASP.NET Web Forms, C#, CLR, DLR, Evento, LINQ, MEF, Microsoft, Visual Basic, WF, WPF

Minha palestra sobre .NET Framework 4.0 no Community Launch 2010 do DF

Eu acabei de apresentar a minha palestra sobre o .NET Framework 4.0, onde abordei algumas das principais novidades em alguns dos principais recursos do framework.

Devido à limitação de tempo e ao grande volume de informações relacionadas com as novidades do .NET Framework 4.0, eu coloquei uma série de slides no final da apresentação com conteúdo técnico detalhado de cada recurso comentado.

Abaixo, a relação macro de tópicos apresentados.

  • Evolução da plataforma .NET
  • .NET Framework 4
  • Alguns cenários em .NET 4.0
  • Linguagem C# 4.0
  • Linguagem Visual Basic 2010
  • ASP.NET Web Forms 4 – Web.config limpo
  • ASP.NET Web Forms 4 – Linha selecionada
  • ASP.NET Web Forms 4 – Client ID
  • ASP.NET Web Forms 4 – Roteamento
  • ASP.NET Web Forms 4 – Chart Control
  • ASP.NET AJAX 4 – Client Templates
  • ASP.NET AJAX 4 – DataContext
  • ASP.NET MVC 2
  • WPF 4 – DataGrid
  • WPF 4 – Calendar
  • WPF 4 – DatePicker
  • WPF 4 – Suporte a toque e manipulação
  • WPF 4 – Outras novidades
  • Managed Extensibility Framework (MEF)
  • ADO.NET Entity Framework 4
  • WCF Data Services no .NET 4
  • Windows Communication Foundation 4
  • Windows Workflow Foundation 4
  • Computação paralela com .NET 4
  • Parallel LINQ (PLINQ)
  • Dynamic Language Runtime (DLR)
  • Programação dinâmica com .NET
  • Objetos tipados dinamicamente
  • Interop Assemblies
  • Problema com Interop Assemblies
  • PIA é dispensável no .NET Framework 4.0
  • Compatibilidade no .NET Framework 4.0
  • CLR 2 – Existência lado a lado
  • CLR 4 – In-Process Side by Side
  • Onde obter informações adicionais?

Abaixo, seguem os slides da minha palestra de .NET Framework 4 no evento Community Launch 2010 do DF.

Rogério Moraes de Carvalho
Twitter: @rogeriomc