ADO.NET - ADO.NET

ADO.NET
Desenvolvedor (s) Microsoft
Sistema operacional Microsoft Windows
Modelo Framework de software
Licença Software proprietário ( parte BCL sob licença MIT ; código-fonte sob Ms-RSL )
Local na rede Internet docs .microsoft .com / dotnet / framework / data / adonet /

ADO.NET é uma tecnologia de acesso a dados do Microsoft .NET Framework que fornece comunicação entre sistemas relacionais e não relacionais por meio de um conjunto comum de componentes. ADO.NET é um conjunto de componentes de software de computador que os programadores podem usar para acessar dados e serviços de dados de um banco de dados. É uma parte da biblioteca de classes base incluída no Microsoft .NET Framework. É comumente usado por programadores para acessar e modificar dados armazenados em sistemas de banco de dados relacionais , embora também possa acessar dados em fontes de dados não relacionais. O ADO.NET às vezes é considerado uma evolução da tecnologia ActiveX Data Objects (ADO), mas foi alterado tão extensivamente que pode ser considerado um produto totalmente novo.

Arquitetura

Esta tecnologia faz parte do .NET Framework 3.0 (faz parte do framework desde a versão 1.0)

ADO.NET é conceitualmente dividido em consumidores e provedores de dados. Os consumidores são os aplicativos que precisam de acesso aos dados e os provedores são os componentes de software que implementam a interface e, portanto, fornecem os dados ao consumidor.

A funcionalidade existe no Visual Studio IDE para criar subclasses especializadas das classes DataSet para um esquema de banco de dados específico , permitindo acesso conveniente a cada campo no esquema por meio de propriedades fortemente tipadas . Isso ajuda a detectar mais erros de programação em tempo de compilação e aprimora o recurso Intellisense do IDE .

Um provedor é um componente de software que interage com uma fonte de dados . Os provedores de dados ADO.NET são análogos aos drivers ODBC , drivers JDBC e provedores OLE DB .

Os provedores ADO.NET podem ser criados para acessar armazenamentos de dados simples como um arquivo de texto e planilha, por meio de bancos de dados complexos como banco de dados Oracle , Microsoft SQL Server , MySQL , PostgreSQL , SQLite , IBM DB2 , Sybase ASE e muitos outros. Eles também podem fornecer acesso a armazenamentos de dados hierárquicos, como sistemas de e-mail.

No entanto, como diferentes tecnologias de armazenamento de dados podem ter recursos diferentes, cada provedor ADO.NET não pode implementar todas as interfaces possíveis disponíveis no padrão ADO.NET. A Microsoft descreve a disponibilidade de uma interface como "específica do provedor", pois pode não ser aplicável dependendo da tecnologia de armazenamento de dados envolvida. Os provedores podem aumentar as capacidades de um armazenamento de dados; esses recursos são conhecidos como "serviços" na linguagem da Microsoft.

Mapeamento objeto-relacional

Estrutura de entidade

Entity Framework (EF) é uma estrutura de mapeamento objeto-relacional (ORM) de código aberto para ADO.NET, parte do .NET Framework. É um conjunto de tecnologias em ADO.NET que oferece suporte ao desenvolvimento de aplicativos de software orientados a dados. Arquitetos e desenvolvedores de aplicativos orientados a dados normalmente lutam com a necessidade de atingir dois objetivos muito diferentes. O Entity Framework permite que os desenvolvedores trabalhem com dados na forma de objetos e propriedades específicos de domínio, como clientes e endereços de clientes, sem ter que se preocupar com as tabelas e colunas de banco de dados subjacentes onde esses dados são armazenados. Com o Entity Framework, os desenvolvedores podem trabalhar em um nível mais alto de abstração ao lidar com dados e podem criar e manter aplicativos orientados a dados com menos código do que os aplicativos tradicionais.

LINQ para SQL

LINQ to SQL (anteriormente denominado DLINQ) permite que LINQ seja usado para consultar bancos de dados Microsoft SQL Server, incluindo bancos de dados SQL Server Compact. Como os dados do SQL Server podem residir em um servidor remoto e como o SQL Server tem seu próprio mecanismo de consulta, ele não usa o mecanismo de consulta do LINQ. Em vez disso, a consulta LINQ é convertida em uma consulta SQL que é enviada ao SQL Server para processamento. No entanto, como o SQL Server armazena os dados como dados relacionais e o LINQ funciona com dados encapsulados em objetos, as duas representações devem ser mapeadas uma para a outra. Por esse motivo, LINQ to SQL também define uma estrutura de mapeamento. O mapeamento é feito definindo classes que correspondem às tabelas no banco de dados e contendo todas ou um determinado subconjunto das colunas na tabela como membros de dados.

Referências

links externos