# GrainStateWithMetaData&lt;TView&gt;

Package: [Microsoft.Orleans.EventSourcing](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.EventSourcing) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.EventSourcing/StateStorage/GrainStateWithMetaData.cs#L65)

```csharp
[Orleans.GenerateSerializer]
public sealed class GrainStateWithMetaData<TView>
    where TView : class, new()
```

A class that extends grain state with versioning metadata, so that a log-consistent grain can use a standard storage provider.

## Constructors

- [GrainStateWithMetaData&lt;TView&gt;](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/constructors/constructor-37a11eb6/)
- [GrainStateWithMetaData&lt;TView&gt;(TView)](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/constructors/constructor-tview-0de2a780/)

## Properties

- [GlobalVersion](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/properties/globalversion-cd64392c/)
- [State](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/properties/state-eeb38d70/)
- [WriteVector](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/properties/writevector-dd1a97ed/)

## Methods

- [FlipBit(string)](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/methods/flipbit-string-1b9c5676/)
- [GetBit(string)](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.statestorage.grainstatewithmetadata-1/methods/getbit-string-2fce7297/)
