Aerospike.Database.LINQPadDriver 2.0.5

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aerospike.Database.LINQPadDriver --version 2.0.5
NuGet\Install-Package Aerospike.Database.LINQPadDriver -Version 2.0.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aerospike.Database.LINQPadDriver" Version="2.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aerospike.Database.LINQPadDriver --version 2.0.5
#r "nuget: Aerospike.Database.LINQPadDriver, 2.0.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Aerospike.Database.LINQPadDriver as a Cake Addin
#addin nuget:?package=Aerospike.Database.LINQPadDriver&version=2.0.5

// Install Aerospike.Database.LINQPadDriver as a Cake Tool
#tool nuget:?package=Aerospike.Database.LINQPadDriver&version=2.0.5

Aerospike Database for LINQPad 7

Description

Aerospike for LINQPad 7 is a data context dynamic driver for querying and updating an Aerospike database. This driver can be used to explore an Aerospike data model, data mining, prototyping, testing, etc.

You can perform the following:

  • query any Aerospike Set using any LINQ command.
  • use the driver’s extension methods to perform operations like Aerospike Expression, CRUD operations, import/export, or execute an Aerospike User Defined Function (UDF) without understanding the underlying Aerospike API.
  • use the Aerospike API to perform advance operations or just to test code segments used in your application.

The driver can dynamically detect the structure of records in Aerospike Sets resulting in an easy-to-understand view. The driver can also detect multiple data types for the same Aerospike Bin within a record. Below screenshot show how Aerospike Sets and Bins are represented in LinqPad:

Example

The LINQPad connection pane will display the different Aerospike components in an hierarchical manner where namespace is under Aerospike cluster connection. Aerospike Sets are under namespaces and bins are under Sets. Below screenshot shows the relationship between these components:

ComponentExample

Each component can be dragged-and-dropped onto the LINQPad Query pane to be executed by LINQPad. The execution behavior will depend on the component. For example, a Set or Secondary Index will present the records within that component. For other components, the properties are displayed. In all cases, you can always execute the driver’s extension methods. These extension methods, greatly simplify Aerospike API commands like Get, Put, Query, Operate, etc. plus, the ability to perform things like importing or exporting data. Of course, you can always use LINQ against Aerospike Sets or Secondary Indexes. Below is an example of some of the driver extensions:

MethodsExample

Aerospike Namespace, Set, Records, Bins, and Secondary Indexes

The LINQPad connection pane will display the different Aerospike components in a hierarchical manner where namespace is under Aerospike cluster connection. Aerospike Sets are under namespaces and bins are under Sets. Below screenshot shows the relationship between these components:

ComponentExample

Each component can be dragged-and-dropped onto the LINQPad Query pane to be executed by LINQPad. The execution behavior will depend on the component. For example, a Set or Secondary Index will present the records within that component. For other components, the properties are displayed. In all cases, you can always execute the driver’s extension methods and properties. These extensions, greatly simplify Aerospike API commands like Get, Put, Query, Operate, etc. plus, the ability to perform things like importing or exporting data. Below is an example of some of the driver extensions:

MethodsExample

Aerospike Sets and records are very easy to use. The detected bins in a record are integrated into LINQPad and are treated as C# properties. As such, features like Intellisense and Autocompletion just work. You can also access bins within a record by using the bin name.

Since Aerospike is a schemaless database, a record can consist of varying number of bins, or a bin can have different data types between records. The driver can handle these conditions seamlessly. This is done using extension methods and implicit data conversion.

Implicit data conversion eliminates the need to test and cast a bin’s value so that it can be used directly in any operation. Below is an example that shows how implicit conversion works. The set, “graphDeviceNodeIdSet”, has a bin named “nodeID” that consists of two different data type values. Some records have a list value while others have a string value. This example uses the “where” clause which compares each record in the set looking for a numeric value of 367 or the value “a” in the list values.
MethodsExample

User-Defined Functions (UDFs)

The driver supports the execution of UDFs by calling the Execute extension method. The Execute method will reflect the actual arguments used in the UDF. Below is an example:

UDFExample

Aerospike API

At anytime you can use the underlying Aerospike API directly or a combination of API or driver extension methods. Below is an example:

APIExample

Prerequisites

Installation

NuGet

  • Open LINQPad
  • Click Add Connection Link.
  • Click button View more drivers…
  • Click radio button Show all drivers and type Aerospike.
  • Install

Manual

Obtain the latest driver from the Driver folder and download to your computer.

  • Open LINQPad
  • Click Add Connection Link.
  • Click button View more drivers…
  • Click button Install driver from .LPX6 file… and select downloaded lpx6 file.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net6.0-windows7.0 is compatible.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net7.0-windows7.0 is compatible.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.3.1 100 4/15/2024
3.2.0 122 3/4/2024
3.1.0 161 1/17/2024
3.0.2 145 1/3/2024
3.0.1 134 1/2/2024
3.0.0 157 12/21/2023
2.3.3.1 157 12/5/2023
2.3.3 184 11/2/2023
2.3.2 174 10/12/2023
2.3.1 144 9/25/2023
2.3.0 148 9/23/2023
2.1.2 249 8/22/2023
2.1.1 195 8/9/2023
2.1.0 223 7/14/2023
2.0.6 218 6/19/2023
2.0.5.17 220 6/7/2023
2.0.5.16 216 6/1/2023
2.0.5.15 212 5/30/2023
2.0.5.14 182 5/26/2023
2.0.5.12 217 5/17/2023
2.0.5.11 224 5/17/2023
2.0.5.10 179 5/16/2023
2.0.5.8 192 5/12/2023
2.0.5.7 204 5/11/2023
2.0.5.6 204 5/10/2023
2.0.5.4 169 5/6/2023
2.0.5.3 183 4/27/2023
2.0.5.2 248 3/28/2023
2.0.5.1 280 3/23/2023
2.0.5 305 3/22/2023