Skip to main content
Version: Next (v1.11)

Dotnet SDK

Dotnet SDK for Spice.ai

github.com/spiceai/spice-dotnet

Install

dotnet add package spiceai

Connect to Spice Runtime

Create a SpiceClient using default configuration:

using Spice;

var client = new SpiceClientBuilder().Build();

var data = await client.Query(
"SELECT trip_distance, total_amount FROM taxi_trips ORDER BY trip_distance DESC LIMIT 10"
);

Or pass a custom flight address:

using Spice;

var client = new SpiceClientBuilder()
.WithFlightAddress("http://my_remote_spice_instance:50051")
.Build();

var data = await client.Query(
"SELECT trip_distance, total_amount FROM taxi_trips ORDER BY trip_distance DESC LIMIT 10"
);

Parameterized Queries

Use Query() with a Dictionary<string, object> for parameterized queries to prevent SQL injection and improve performance (v1.1.0+):

using Spice;

var client = new SpiceClientBuilder().Build();

var parameters = new Dictionary<string, object>
{
{ "min_price", 10.0 },
{ "category", "electronics" }
};

var data = await client.Query(
"SELECT * FROM products WHERE price > :min_price AND category = :category",
parameters
);

For more details, see Parameterized Queries.