# IReminderTable Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/)

## Init {#init-2550c4e6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/init-2550c4e6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Reminders/SystemTargetInterfaces/IReminderTable.cs#L32)

```csharp
[System.Obsolete(Implement and use StartAsync instead)]
public virtual Task Init()
```

Initializes this instance.

### Returns

A `System.Threading.Tasks.Task` representing the work performed.

## ReadRow(GrainId, string) {#readrow-orleans-runtime-grainid-string-8e6068f7}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/readrow-orleans-runtime-grainid-string-8e6068f7/)

```csharp
public abstract Task<ReminderEntry> ReadRow(GrainId grainId, string reminderName)
```

Reads the specified entry.

### Parameters

- `grainId` (`GrainId`): The grain ID.
- `reminderName` (`string`): Name of the reminder.

### Returns

The reminder table entry.

## ReadRows(GrainId) {#readrows-orleans-runtime-grainid-ccf2cebe}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/readrows-orleans-runtime-grainid-ccf2cebe/)

```csharp
public abstract Task<ReminderTableData> ReadRows(GrainId grainId)
```

Reads the reminder table entries associated with the specified grain.

### Parameters

- `grainId` (`GrainId`): The grain ID.

### Returns

The reminder table entries associated with the specified grain.

## ReadRows(uint, uint) {#readrows-uint-uint-90fdcdb8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/readrows-uint-uint-90fdcdb8/)

```csharp
public abstract Task<ReminderTableData> ReadRows(uint begin, uint end)
```

Returns all rows that have their [GrainId](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/) in the range (begin, end]. If begin is greater or equal to end, returns all entries with hash greater begin or hash less or equal to end.

### Parameters

- `begin` (`uint`): The exclusive lower bound.
- `end` (`uint`): The inclusive upper bound.

### Returns

The reminder table entries which fall within the specified range.

## RemoveRow(GrainId, string, string) {#removerow-orleans-runtime-grainid-string-string-c66fd231}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/removerow-orleans-runtime-grainid-string-string-c66fd231/)

```csharp
public abstract Task<bool> RemoveRow(GrainId grainId, string reminderName, string eTag)
```

Removes a row from the table.

### Parameters

- `grainId` (`GrainId`): The grain ID.
- `reminderName` (`string`): The reminder name.
- `eTag` (`string`): The ETag.

### Returns

true if a row with `grainId` and `reminderName` existed and was removed successfully, false otherwise

## StartAsync(CancellationToken) {#startasync-system-threading-cancellationtoken-aee9d7e3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/startasync-system-threading-cancellationtoken-aee9d7e3/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Reminders/SystemTargetInterfaces/IReminderTable.cs#L24)

```csharp
public virtual Task StartAsync(CancellationToken cancellationToken = default(CancellationToken))
```

Initializes this instance.

### Parameters

- `cancellationToken` (`CancellationToken`)

### Returns

A `System.Threading.Tasks.Task` representing the work performed.

## StopAsync(CancellationToken) {#stopasync-system-threading-cancellationtoken-db67e341}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/stopasync-system-threading-cancellationtoken-db67e341/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Reminders/SystemTargetInterfaces/IReminderTable.cs#L85)

```csharp
public virtual Task StopAsync(CancellationToken cancellationToken = default(CancellationToken))
```

Stops the reminder table.

### Parameters

- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

A `System.Threading.Tasks.Task` representing the work performed.

## TestOnlyClearTable {#testonlycleartable-dc62ed96}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/testonlycleartable-dc62ed96/)

```csharp
public abstract Task TestOnlyClearTable()
```

Clears the table.

### Returns

A `System.Threading.Tasks.Task` representing the work performed.

## UpsertRow(ReminderEntry) {#upsertrow-orleans-reminderentry-c2bfaf0b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.iremindertable/methods/upsertrow-orleans-reminderentry-c2bfaf0b/)

```csharp
public abstract Task<string> UpsertRow(ReminderEntry entry)
```

Upserts the specified entry.

### Parameters

- `entry` (`ReminderEntry`): The entry.

### Returns

The row's new ETag.
