O Provedor principal do Couchbase EF agora é geralmente disponível. Esta versão traz o poder do Entity Framework Core para o Couchbase, permitindo que os desenvolvedores de .NET trabalhem com o Couchbase usando padrões familiares do EF Core.

O que é o provedor Couchbase EF Core?

O Entity Framework Core (EF Core) é um popular O/RM que simplifica o acesso ao banco de dados para aplicativos .NET. Ele permite que os desenvolvedores trabalhem com dados usando objetos C# e consultas LINQ em vez de escrever consultas brutas ao banco de dados. O EF Core permite a integração com vários bancos de dados, fornecendo rastreamento automático de alterações, transações e uma API DbContext familiar. É uma interface familiar que os desenvolvedores podem usar para economizar tempo e se integrar a muitas estruturas e bibliotecas adjacentes a bancos de dados.

O Provedor principal do Couchbase EF permite que os desenvolvedores usem o Entity Framework Core com Servidor Couchbase e Couchbase Capella (agora disponível com um nível gratuito perpétuo). Com esse provedor, você pode trabalhar com documentos do Couchbase como se fossem entidades relacionais, usando consultas Linq, DbContext e controle de alterações.

Primeiros passos

Para instalar o provedor do Couchbase EF Core, adicione o arquivo Pacote NuGet:

Exemplo: usando o EF Core com o Couchbase

Aqui está um exemplo simples de "carrinho de compras" de como configurar e usar o Provedor principal do Couchbase EF com um modelo de carrinho de compras.

Definir seus modelos de entidade

Criar um DbContext para o Couchbase

Esse arranjo pressupõe que você tenha criado um bucket no Couchbase chamado Comprasque contém um escopo chamado Comércio eletrônicoque contém coleções Itens e Carrinhos.

Observe também que o registro em log é opcional, mas é uma boa ideia ativá-lo para ajudar a identificar quaisquer problemas que possam surgir.

Inserir e consultar dados

Veja um exemplo de como os documentos no Couchbase ficarão após a inserção:

O que funciona na versão GA?

Toda a funcionalidade do EF Core é muito, muito grande. Ser capaz de lidar com todas as instruções Linq possíveis, por exemplo, é quase impossível, mesmo para provedores maduros do EF Core, como o SQL Server. Entretanto, essa versão oferece suporte a muitos recursos essenciais do EF Core, incluindo:

Suporte a LINQ - Traduz as consultas LINQ para Couchbase SQL++.
Operações básicas de CRUD - Inserir, atualizar e excluir funcionam como esperado.
Controle de alterações - As entidades são rastreadas para atualizações eficientes.

Observe também que o uso de métodos Async é necessário. O SDK .NET do Couchbase é totalmente assíncrono. Se você tentar usar um método não assíncrono, receberá um erro de tempo de execução do tipo O provedor de banco de dados principal do Couchbase EF não oferece suporte a E/S síncrona.

Limitações conhecidas

Embora esse seja um marco significativo, Alguns recursos ainda estão em andamentoincluindo:

Desnormalização - Aninhamento de coleções dentro de documentos (por exemplo, armazenamento de Itens dentro Carrinho como um único documento JSON) ainda não é compatível.
Carregamento ansioso - .Include() podem não funcionar como esperado.
Suporte à função SQL++ - Algumas funções do SQL++, como META, RYOWetc., não estão totalmente implementados.
Transações - Ainda não é compatível com esta versão.

Participe da conversa!

Queremos seu feedback! Ajude a moldar o futuro do Provedor principal do Couchbase EF:

O que vem a seguir?

Esta versão é apenas o começo! Estamos trabalhando ativamente para desenvolver essa implementação do EF Core. Seu feedback ajudará a priorizar a funcionalidade.

Experimente hoje mesmo e diga-nos o que achou. Boa codificação!



Autor

Postado por Matthew Groves

Matthew D. Groves é um cara que adora programar. Não importa se é C#, jQuery ou PHP: ele enviará solicitações de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente sênior de marketing de produtos da Couchbase. Seu tempo livre é passado com a família, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele é autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.

Deixar uma resposta