Skip to content

datastax/astra-db-csharp

Repository files navigation

astra-db-csharp

astra-db-csharp is a C# client for interacting with DataStax Astra DB and Hyper-Converged Database.

Documentation

For Astra DB Serverless:

For Hyper-Converged Database (HCD):

At a glance

using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;
using DataStax.AstraDB.DataApi.Core.Query;

// ...
// ...

var client = new DataAPIClient();
var database = client.GetDatabase(
    "<Astra DB API Endpoint>",
    new DatabaseCommandOptions() { Token = "<Astra DB Application Token>" }
);

// ...

var collection = await database.CreateCollectionAsync<MyDocumentClass>("ExampleCollection");
await collection.InsertManyAsync(new List<MyDocumentClass>()
    {
        new() { Name = "Apple", Score = 10, Description = "..." },
        new() { Name = "Peach", Score = 5, Description = "..." },
        new() { Name = "Walnut", Score = 8, Description = "..." }
    }
);

// ...

var findOptions = new CollectionFindOneOptions<MyDocumentClass>() {
    Sort = Builders<MyDocumentClass>.CollectionSort.Vectorize("<search query>"),
    IncludeSimilarity = true
};
var matchingDocument = await collection.FindOneAsync<MyDocumentSearchResultClass>(findOptions);
if ( matchingDocument != null ){
    Console.WriteLine($"Match: '{matchingDocument.Name}' (similarity: {matchingDocument.Similarity})");
}

About

C# client for Astra DB Data API

Resources

License

Stars

Watchers

Forks

Contributors

Languages