public ValueTask <DataRow[]> SelectByStartsWithAsync(
     IDbTransaction transaction,
     string startsWith)
 {
     return(transaction.ExecuteReaderAsync(
                () => SelectByStartsWithPathCommand,
                $"{nameof(DatabaseTable)}/{nameof(SelectByStartsWithPathCommand)}/{TableName}",
                HandleReaderDataRows,
                SqliteTransaction.EscapeLikeContent(startsWith) + "%"));
 }
 public ValueTask <DataRow[]> SelectByParentAsync(
     IDbTransaction transaction,
     long parent)
 {
     return(transaction.ExecuteReaderAsync(
                () => SelectByParentCommand,
                $"{nameof(DatabaseTable)}/{nameof(SelectByParentCommand)}/{TableName}",
                HandleReaderDataRows,
                parent));
 }
 public ValueTask <PropertyDataRow[]> SelectPropertiesByTargetAsync(
     IDbTransaction transaction,
     long target)
 {
     return(transaction.ExecuteReaderAsync(
                () => SelectPropertiesByTargetCommand,
                $"{nameof(DatabaseTable)}/{nameof(SelectPropertiesByTargetCommand)}/{TableName}",
                HandleReaderPropertyDataRows,
                target));
 }
 public ValueTask <DataRow?> SelectByPathAsync(
     IDbTransaction transaction,
     string path)
 {
     return(transaction.ExecuteReaderAsync(
                () => SelectByPathCommand,
                $"{nameof(DatabaseTable)}/{nameof(SelectByPathCommand)}/{TableName}",
                HandleReaderSingleDataRow,
                path));
 }
 public ValueTask <PropertyDataRow?> SelectPropertyAsync(
     IDbTransaction transaction,
     long target,
     string key)
 {
     return(transaction.ExecuteReaderAsync(
                () => SelectPropertyByTargetAndKeyCommand,
                $"{nameof(DatabaseTable)}/{nameof(SelectPropertyByTargetAndKeyCommand)}/{TableName}",
                HandleReaderSinglePropertyDataRow,
                target,
                key));
 }