cosmos-db
  1. cosmos-db-integration

Integration of CosmosDB and Entity Framework Core

Syntax:

To integrate CosmosDB and Entity Framework Core, you need to install the following NuGet packages:

  • Microsoft.EntityFrameworkCore.Cosmos
  • Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.Cosmos
Install-Package Microsoft.EntityFrameworkCore.Tools

Example:

using Microsoft.EntityFrameworkCore;

public class CosmosDbContext : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseCosmos(
            "YOUR_COSMOS_DB_CONNECTION_STRING",
            "YOUR_COSMOS_DB_DATABASE_NAME");
    }

    public DbSet<User> Users { get; set; }
}

public class User
{
    public string Id { get; set; }
    public string Name { get; set; }
}

Explanation:

  • Microsoft.EntityFrameworkCore.Cosmos package provides the necessary APIs to use CosmosDB with Entity Framework Core.
  • The OnConfiguring method of the DbContext class is overridden to configure the CosmosDB connection.
  • UseCosmos method is used to specify the CosmosDB connection string and database name.
  • DbSet Property of DbContext class is used to access the collections in CosmosDB.

Use:

Integration of CosmosDB and Entity Framework Core provides a high-level abstraction over the CosmosDB API and allows developers to work with CosmosDB using familiar mechanisms, such as LINQ queries and DbSet operations. This makes the development process easy and quick.

Important Points:

  • The integration only supports .NET Standard 2.0 and .NET Core 2.1 or later.
  • The CosmosDB SQL API is the only Cosmos DB API supported for the Entity Framework Core Cosmos DB provider.
  • Entity Framework Core 5.0 now includes a UseCosmos overload with the CosmosClientBuilder, with which you can configure additional Cosmos DB client options.

Summary:

Integration of CosmosDB and Entity Framework Core provides a seamless mechanism to work with CosmosDB. It allows easy configuration of the CosmosDB connection, enables familiar mechanisms to work with CosmosDB, and simplifies the development process. It supports only the SQL API and requires.NET Standard 2.0 and.NET Core 2.1 or later versions.

Published on: