astra-db-csharp is a C# client for interacting with DataStax Astra DB and Hyper-Converged Database.
Update to one of the following:
- .NET version 8 or later
- .NET Framework 4.6.2 or later
- .NET Standard 2.1 or later
Install the client:
dotnet add package DataStax.AstraDB.DataApi
A database is needed for the client to connect to. The database can be either an Astra DB instance or a Hyper-Converged Database (HCD) instance: follow the appropriate documentation links to get the connection parameters for your 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})");
}