Package | NuGet Stable |
---|---|
CosmosDbFramework | |
CosmosDbFramework.Autofac | |
CosmosDbFramework.CastleWindsor | |
CosmosDbFramework.Extensions.DependencyInjection |
Package Manager | .NET CLI |
---|---|
Install-Package CosmosDbFramework -Version 1.0.0 | dotnet add package CosmosDbFramework --version 1.0.0 |
Install-Package CosmosDbFramework.Autofac -Version 1.0.0 | dotnet add package CosmosDbFramework.Autofac --version 1.0.0 |
Install-Package CosmosDbFramework.CastleWindsor -Version 1.0.0 | dotnet add package CosmosDbFramework.CastleWindsor --version 1.0.0 |
Install-Package CosmosDbFramework.Extensions.DependencyInjection -Version 1.0.0 | dotnet add package CosmosDbFramework.Extensions.DependencyInjection --version 1.0.0 |
.AddCosmosDbContext<VideoStoreContext>(config =>
{
config.Endpoint("https://localhost:8081");
config.AuthKeyOrResourceToken("XXXXXXXXX");
config.Configure(options =>
{
options.SerializerOptions = new CosmosSerializationOptions
{
IgnoreNullValues = false,
Indented = true,
PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase
};
});
})
public class VideoStoreContext : CosmosDbContext
{
public VideoStoreContext(CosmosDbOptions<VideoStoreContext> options)
: base(options)
{
}
public override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Document<Actor>()
.WithDatabase("videostore")
.WithCollection("actors")
.WithThroughput(400)
.WithPartitionKey(c => c.Country);
modelBuilder.Document<Movie>()
.WithDatabase("videostore")
.WithCollection("movies")
.WithThroughput(400)
.WithPartitionKey(c => c.Category);
}
public ICosmosCollection<Movie> Movies { get; set; }
public ICosmosCollection<Actor> Actors { get; set; }
}