Skip to main content

Definition

Assembly: CloudNimble.BlazorEssentials.TursoDb.dll Namespace: CloudNimble.BlazorEssentials.TursoDb Inheritance: System.Object

Syntax

CloudNimble.BlazorEssentials.TursoDb.TursoDatabase

Summary

Base class for Turso databases. Inherit from this class and add TursoDbSet1` properties for each entity type.

Examples

public class AppDatabase : TursoDatabase
{
    public TursoDbSet<User> Users { get; }
    public TursoDbSet<Post> Posts { get; }

    public AppDatabase(IJSRuntime jsRuntime) : base(jsRuntime)
    {
        Name = "app.db";
        Users = new TursoDbSet<User>(this);
        Posts = new TursoDbSet<Post>(this);
    }
}

Constructors

.ctor Inherited

Inherited from object

Syntax

public Object()

Properties

AuthToken

Gets or sets the authentication token for remote Turso databases.

Syntax

public string AuthToken { get; set; }

Property Value

Type: string?

AutoCreateSchema

Gets or sets whether to automatically create tables on connect.

Syntax

public bool AutoCreateSchema { get; set; }

Property Value

Type: bool

DbSets

Gets the list of DbSets in this database.

Syntax

public System.Collections.Generic.List<CloudNimble.BlazorEssentials.TursoDb.ITursoDbSet> DbSets { get; }

Property Value

Type: System.Collections.Generic.List<CloudNimble.BlazorEssentials.TursoDb.ITursoDbSet>

IsConnected

Gets whether the database is currently connected.

Syntax

public bool IsConnected { get; }

Property Value

Type: bool

Name

Gets or sets the database name/identifier. This is used as the connection key in JavaScript.

Syntax

public string Name { get; init; }

Property Value

Type: string

Url

Gets or sets the database URL. Use “:memory:” for in-memory, “file:name.db” for local file, or a Turso cloud URL.

Syntax

public string Url { get; set; }

Property Value

Type: string

Methods

BeginTransactionAsync

Begins a new database transaction.

Syntax

public System.Threading.Tasks.Task<CloudNimble.BlazorEssentials.TursoDb.TursoTransaction> BeginTransactionAsync()

Returns

Type: System.Threading.Tasks.Task<CloudNimble.BlazorEssentials.TursoDb.TursoTransaction> A transaction that can be committed or rolled back.

Examples

await using var transaction = await Database.BeginTransactionAsync();
try
{
    await Database.Users.AddAsync(user);
    await transaction.CommitAsync();
}
catch
{
    await transaction.RollbackAsync();
    throw;
}

ConnectAsync

Connects to the database.

Syntax

public System.Threading.Tasks.Task ConnectAsync()

Returns

Type: System.Threading.Tasks.Task A task representing the asynchronous operation.

DisconnectAsync

Disconnects from the database.

Syntax

public System.Threading.Tasks.Task DisconnectAsync()

Returns

Type: System.Threading.Tasks.Task A task representing the asynchronous operation.

DisposeAsync

Syntax

public System.Threading.Tasks.ValueTask DisposeAsync()

Returns

Type: System.Threading.Tasks.ValueTask

EnsureConnectedAsync

Ensures the database is connected, connecting if necessary.

Syntax

public System.Threading.Tasks.Task EnsureConnectedAsync()

Returns

Type: System.Threading.Tasks.Task

Equals Inherited Virtual

Inherited from object

Syntax

public virtual bool Equals(object obj)

Parameters

NameTypeDescription
objobject?-

Returns

Type: bool

Equals Inherited

Inherited from object

Syntax

public static bool Equals(object objA, object objB)

Parameters

NameTypeDescription
objAobject?-
objBobject?-

Returns

Type: bool

ExecuteAsync

Executes a SQL statement and returns the result.

Syntax

public System.Threading.Tasks.Task<CloudNimble.BlazorEssentials.TursoDb.TursoResult> ExecuteAsync(string sql, params object[] parameters)

Parameters

NameTypeDescription
sqlstringThe SQL statement to execute.
parametersobject?[]The parameters for the SQL statement.

Returns

Type: System.Threading.Tasks.Task<CloudNimble.BlazorEssentials.TursoDb.TursoResult> The execution result.

ExecuteBatchAsync

Executes multiple SQL statements in a batch.

Syntax

public System.Threading.Tasks.Task<System.Collections.Generic.List<CloudNimble.BlazorEssentials.TursoDb.TursoResult>> ExecuteBatchAsync(params (string, object[])[] statements)

Parameters

NameTypeDescription
statements(string, object?[])[]The statements to execute.

Returns

Type: System.Threading.Tasks.Task<System.Collections.Generic.List<CloudNimble.BlazorEssentials.TursoDb.TursoResult>> The results of each statement.

GetHashCode Inherited Virtual

Inherited from object

Syntax

public virtual int GetHashCode()

Returns

Type: int

GetType Inherited

Inherited from object

Syntax

public System.Type GetType()

Returns

Type: System.Type

MemberwiseClone Inherited

Inherited from object

Syntax

protected internal object MemberwiseClone()

Returns

Type: object

Prepare

Creates a prepared statement for queries that return results.

Syntax

public CloudNimble.BlazorEssentials.TursoDb.TursoPreparedStatement<TResult> Prepare<TResult>(string sql) where TResult : class, new()

Parameters

NameTypeDescription
sqlstringThe SQL query to prepare.

Returns

Type: CloudNimble.BlazorEssentials.TursoDb.TursoPreparedStatement<TResult> A prepared statement that can be executed multiple times.

Type Parameters

  • TResult - The type of result returned by the query.

Prepare

Creates a prepared statement for non-query commands.

Syntax

public CloudNimble.BlazorEssentials.TursoDb.TursoPreparedStatement Prepare(string sql)

Parameters

NameTypeDescription
sqlstringThe SQL command to prepare.

Returns

Type: CloudNimble.BlazorEssentials.TursoDb.TursoPreparedStatement A prepared statement that can be executed multiple times.

QueryAsync

Executes a SQL query and returns all matching rows.

Syntax

public System.Threading.Tasks.Task<System.Collections.Generic.List<T>> QueryAsync<T>(string sql, params object[] parameters)

Parameters

NameTypeDescription
sqlstringThe SQL query to execute.
parametersobject?[]The parameters for the SQL query.

Returns

Type: System.Threading.Tasks.Task<System.Collections.Generic.List<T>> A list of results.

Type Parameters

  • T - The type to deserialize results into.

QuerySingleAsync

Executes a SQL query and returns the first matching row or null.

Syntax

public System.Threading.Tasks.Task<T> QuerySingleAsync<T>(string sql, params object[] parameters)

Parameters

NameTypeDescription
sqlstringThe SQL query to execute.
parametersobject?[]The parameters for the SQL query.

Returns

Type: System.Threading.Tasks.Task<T?> The first result or default.

Type Parameters

  • T - The type to deserialize the result into.

ReferenceEquals Inherited

Inherited from object

Syntax

public static bool ReferenceEquals(object objA, object objB)

Parameters

NameTypeDescription
objAobject?-
objBobject?-

Returns

Type: bool

ToString Inherited Virtual

Inherited from object

Syntax

public virtual string ToString()

Returns

Type: string?
  • System.IAsyncDisposable