# StateStorageBridge&lt;TState&gt; Properties

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.core.statestoragebridge-1/)

## Etag {#etag-96dc5f73}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.core.statestoragebridge-1/properties/etag-96dc5f73/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Storage/StateStorageBridge.cs)

```csharp
public string? Etag
```

Gets the ETag.

## RecordExists {#recordexists-5c270a09}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.core.statestoragebridge-1/properties/recordexists-5c270a09/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Storage/StateStorageBridge.cs#L58-L62)

```csharp
public bool RecordExists
```

Gets a value indicating whether the record already exists.

## State {#state-3eff86b6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.core.statestoragebridge-1/properties/state-3eff86b6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Storage/StateStorageBridge.cs)

```csharp
public TState State
```

Gets or sets the state.
