# ImmovableAttribute

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Placement/PlacementAttribute.cs#L121)

```csharp
public sealed class ImmovableAttribute : Attribute, IGrainPropertiesProviderAttribute
```

Ensures that activations of this grain type will not be migrated automatically.

## Remarks

Activations can still be migrated by user initiated code.

## Constructors

- [ImmovableAttribute(ImmovableKind)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.placement.immovableattribute/constructors/constructor-orleans-placement-immovablekind-4ad7d3fe/)

## Properties

- [Kind](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.placement.immovableattribute/properties/kind-d2908926/)

## Methods

- [Populate(IServiceProvider, Type, GrainType, Dictionary&lt;string, string&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.placement.immovableattribute/methods/populate-system-iserviceprovider-system-type-orleans-runtime-graintype-system-co-64c3cbda/)
