astra-db-csharp is a C# client for interacting with DataStax Astra DB and Hyper-Converged Database.
For Astra DB Serverless:
For Hyper-Converged Database (HCD):
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})");
}