---
title: "Class TypedEntityProxyBase"
slug: "sdk--stylelabs.m.sdk.models.typed.typedentityproxybase"
abstract: ""
---
# Class TypedEntityProxyBase

Proxies all entity properties and methods to the underlying entity.

## Inheritance

object

TypedEntityProxyBase

## Implements

[ITypedEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.itypedentity.html)

[IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html)

[IResource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iresource.html)

[IDirtyTracking](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html)

## Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsTyped

## Assembly: Stylelabs.M.Sdk.dll

## Syntax

```csharp
public abstract class TypedEntityProxyBase : ITypedEntity, IEntity, IResource, IDirtyTracking
```

## Constructors

### TypedEntityProxyBase(IEntity, IMClient)

Initializes a new instance of the [TypedEntityProxyBase](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.typed.typedentityproxybase.html) class.

#### Declaration

```csharp
protected TypedEntityProxyBase(IEntity entity, IMClient client)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html) | entity | The entity. |
| [IMClient](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.imclient.html) | client | The client. |

## Properties

### __Client

Gets the client. Provides access to the [IMClient](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.imclient.html) instance.

#### Declaration

```csharp
protected IMClient __Client { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| [IMClient](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.imclient.html) |  |

### __EntityWrapper

Gets the entity mapper. Provides access to a managed wrapper for entity operations.

#### Declaration

```csharp
protected TypedEntityWrapper __EntityWrapper { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| [TypedEntityWrapper](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.utilities.typedentitywrapper.html) |  |

### CreatedBy

Gets the id of the user who created this resource. null if it has not been created.

#### Declaration

```csharp
public long? CreatedBy { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| long |  |

### CreatedOn

Gets the date on which this resource was created. null if it has not been created.

#### Declaration

```csharp
public DateTime? CreatedOn { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| DateTime |  |

### Cultures

Gets a list of all cultures that the entity was loaded with. Never returns null. All [ICultureSensitiveProperty](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iculturesensitiveproperty.html) properties can only contains values for these cultures.

#### Declaration

```csharp
public IReadOnlyList<CultureInfo> Cultures { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IReadOnlyList<>CultureInfo |  |

### DefinitionName

Gets the name of the [IEntityDefinition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientitydefinition.html) that defines this entity.

#### Declaration

```csharp
public string DefinitionName { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| string |  |

### Id

Gets the id of the entity. The id is an automatically assigned, read only, unique and strictly positive number identifying the entity. The id is null if the entity has not been persisted yet.

#### Declaration

```csharp
public long? Id { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| long |  |

### Identifier

Gets or sets the identifier of the entity. The identifier can be set on a new entities, until it is persisted. However, it must always be unique. The identifier will be auto generated when it is null when persisting.

#### Declaration

```csharp
public string Identifier { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| string |  |

### InheritsSecurity

Gets or sets a value indicating whether the entity inherits security from its ancestors connected via relations with [InheritsSecurity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ichildrelation.html).

#### Declaration

```csharp
public bool InheritsSecurity { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

### IsDirty

Gets a value indicating whether the object has unsaved changes.

#### Declaration

```csharp
public bool IsDirty { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

### IsNew

Gets a value indicating whether the entity is new (id is null).

#### Declaration

```csharp
public bool IsNew { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

### IsPathRoot

Gets or sets a value indicating whether this entity is a top level path.

#### Declaration

```csharp
public bool IsPathRoot { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

## See Also

[IsPathEnabledDefinition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientitydefinition.html)

### IsRootTaxonomyItem

Gets or sets a value indicating whether this entity is a top level facet.

#### Declaration

```csharp
public bool IsRootTaxonomyItem { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

## See Also

[IsTaxonomyItemDefinition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientitydefinition.html)

### IsSystemOwned

Gets or sets a value indicating whether the entity is owned by the system and cannot be modified or deleted by the regular users.

#### Declaration

```csharp
public bool IsSystemOwned { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

### IsTracking

Gets a value indicating whether the object is tracking changes.

#### Declaration

```csharp
public bool IsTracking { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

### LockedBy

Gets the id of the user who locked this entity. null if it has not been locked.

#### Declaration

```csharp
public long? LockedBy { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| long |  |

### LockedOn

Gets the date on which this entity was locked. null if it has not been locked.

#### Declaration

```csharp
public DateTime? LockedOn { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| DateTime |  |

### ModifiedBy

Gets the id of the user who modified this resource. null if it has not been created.

#### Declaration

```csharp
public long? ModifiedBy { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| long |  |

### ModifiedOn

Gets the date on which this resource was modified. null if it has not been created.

#### Declaration

```csharp
public DateTime? ModifiedOn { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| DateTime |  |

### Properties

Gets a list of all properties that are currently loaded on the entity. Never returns null.

#### Declaration

```csharp
public IReadOnlyList<IProperty> Properties { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IReadOnlyList<>[IProperty](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iproperty.html) |  |

#### Remarks

New properties can still be added by lazy loading them.

### RelatedPaths

Gets a list of all related paths for this entity.

#### Declaration

```csharp
public IReadOnlyList<IRelatedPath> RelatedPaths { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IReadOnlyList<>[IRelatedPath](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irelatedpath.html) |  |

### Relations

Gets a list of all relations that are currently loaded on the entity. Never returns null.

#### Declaration

```csharp
public IReadOnlyList<IRelation> Relations { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IReadOnlyList<>[IRelation](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irelation.html) |  |

#### Remarks

New relations can still be added by lazy loading them.

### Renditions

Gets a list of all renditions for this entity. Never returns null.

#### Declaration

```csharp
public IReadOnlyList<IRendition> Renditions { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IReadOnlyList<>[IRendition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irendition.html) |  |

### Version

Gets the current version of the entity. Version is a monotonically increasing number (from 1 up). Any change(s) of the entity propagated to the persistent storage will cause this number to be incremented.

#### Declaration

```csharp
public long Version { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| long |  |

## Methods

### CanDoLazyLoading()

Checks if lazy loading is possible. Lazy loading is only possible on persisted entities.

#### Declaration

```csharp
public bool CanDoLazyLoading()
```

#### Returns

| Type | Description |
| --- | --- |
| bool | true if lazy loading is possible. |

### GetEntityDefinitionAsync()

Gets the [IEntityDefinition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientitydefinition.html) of the entity. It is loaded once and will cache the result.

#### Declaration

```csharp
public Task<IEntityDefinition> GetEntityDefinitionAsync()
```

#### Returns

| Type | Description |
| --- | --- |
| Task<>[IEntityDefinition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientitydefinition.html) | The entity definition. |

### GetPermissionsAsync()

Gets the permissions that the current user has on this entity.

#### Declaration

```csharp
public Task<ISet<string>> GetPermissionsAsync()
```

#### Returns

| Type | Description |
| --- | --- |
| Task<>ISet<>string | A case insensitive set of permissions. |

### GetProperty(string)

Gets the specified property. Returns null when the property is not found.

#### Declaration

```csharp
public IProperty GetProperty(string name)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |

#### Returns

| Type | Description |
| --- | --- |
| [IProperty](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iproperty.html) | The property. |

### GetProperty<T>(string)

Gets the specified property. Returns null when the property is not found.

#### Declaration

```csharp
public T GetProperty<T>(string name) where T : class, IProperty
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |

#### Returns

| Type | Description |
| --- | --- |
| T | The property. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | The property type. |

### GetPropertyAsync(string, MemberLoadOption)

Gets the specified property. Returns null when the property is not found. However, if the property is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<IProperty> GetPropertyAsync(string name, MemberLoadOption loadOption = MemberLoadOption.LazyLoading)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>[IProperty](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iproperty.html) | The property. |

### GetPropertyAsync<T>(string, MemberLoadOption)

Gets the specified property. Returns null when the property is not found. However, if the property is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<T> GetPropertyAsync<T>(string name, MemberLoadOption loadOption = MemberLoadOption.LazyLoading) where T : class, IProperty
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<> | The property. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of the property. |

### GetPropertyValue(string, CultureInfo)

Gets the value of the specified culture sensitive property. Returns null when the property is not found.

#### Declaration

```csharp
public object GetPropertyValue(string name, CultureInfo culture)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| CultureInfo | culture | Property culture. |

#### Returns

| Type | Description |
| --- | --- |
| object | The property. |

### GetPropertyValue(string)

Gets the value of the specified culture insensitive property. Returns null when the property is not found.

#### Declaration

```csharp
public object GetPropertyValue(string name)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |

#### Returns

| Type | Description |
| --- | --- |
| object | The property. |

### GetPropertyValue<T>(string, CultureInfo)

Gets the value of the specified culture sensitive property and casts it to the corresponding type. Returns null when the property is not found.

#### Declaration

```csharp
public T GetPropertyValue<T>(string name, CultureInfo culture)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| CultureInfo | culture | Property culture. |

#### Returns

| Type | Description |
| --- | --- |
| T | The property. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | The value type. |

### GetPropertyValue<T>(string)

Gets the value of the specified culture insensitive property and casts it to the corresponding type. Returns null when the property is not found.

#### Declaration

```csharp
public T GetPropertyValue<T>(string name)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |

#### Returns

| Type | Description |
| --- | --- |
| T | The property. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | The property type. |

### GetPropertyValueAsync(string, MemberLoadOption)

Gets the value of the specified culture insensitive property and casts it to the corresponding type. If the property is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<object> GetPropertyValueAsync(string name, MemberLoadOption loadOption = MemberLoadOption.LazyLoading)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>object | Value of the property. If the property does not exist or is not loaded, it returns null. |

### GetPropertyValueAsync<T>(string, CultureInfo, MemberLoadOption)

Gets the value of the specified culture sensitive property and converts it to the corresponding type. If the property is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<T> GetPropertyValueAsync<T>(string name, CultureInfo culture, MemberLoadOption loadOption = MemberLoadOption.LazyLoading)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| CultureInfo | culture | Culture of the value. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<> | Value of the property in specified culture. If the property does not exist or is not loaded, it returns null. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of the value. |

### GetPropertyValueAsync<T>(string, MemberLoadOption)

Gets the value of the specified culture insensitive property and casts it to the corresponding type. If the property is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<T> GetPropertyValueAsync<T>(string name, MemberLoadOption loadOption = MemberLoadOption.LazyLoading)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<> | Value of the property. If the property does not exist or is not loaded, it returns null. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of the value. |

### GetRelation(string, RelationRole?)

Gets a relation by name. Returns null when the relation was not found.

#### Declaration

```csharp
public IRelation GetRelation(string name, RelationRole? role = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Name of the relation. |
| [RelationRole](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.relationrole.html) | role | Role of the relation. |

#### Returns

| Type | Description |
| --- | --- |
| [IRelation](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irelation.html) | The relation. |

### GetRelation<T>(string)

Gets a relation by name and tries to resolve the role automatically by the specified interface. Returns null when the relation was not found.

#### Declaration

```csharp
public T GetRelation<T>(string name) where T : class, IRelation
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Name of the relation. |

#### Returns

| Type | Description |
| --- | --- |
| T | The relation. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | The relation type. |

### GetRelationAsync(string, RelationRole?, MemberLoadOption)

Gets the relation from the entity. Returns null when the relation was not found. However, when the relation is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<IRelation> GetRelationAsync(string name, RelationRole? role = null, MemberLoadOption loadOption = MemberLoadOption.LazyLoading)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Relation name. |
| [RelationRole](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.relationrole.html) | role | The role of the relation. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>[IRelation](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irelation.html) | The relation or null when it does not exist or is not lazy loaded. |

### GetRelationAsync<T>(string, MemberLoadOption)

Gets a relation by name and tries to resolve the role automatically by the specified interface. Returns null when the relation was not found. If the relation is not present, it can be lazy loaded.

#### Declaration

```csharp
public Task<T> GetRelationAsync<T>(string name, MemberLoadOption loadOption = MemberLoadOption.LazyLoading) where T : class, IRelation
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Relation name. |
| [MemberLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.memberloadoption.html) | loadOption | Enables (default) or disables lazy loading. |

#### Returns

| Type | Description |
| --- | --- |
| Task<> | The relation or null when it does not exist or is not lazy loaded. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of relation. |

### GetRendition(string)

Gets an [IRendition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irendition.html) by name.

#### Declaration

```csharp
public IRendition GetRendition(string name)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Name of the rendition. |

#### Returns

| Type | Description |
| --- | --- |
| [IRendition](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.irendition.html) | The rendition or null when it does not exist. |

### LoadMembersAsync(IPropertyLoadOption, IRelationLoadOption)

Loads the specified members on the current entity. It will only load if it is actually missing members and does not overwrite existing members.

#### Declaration

```csharp
public Task<bool> LoadMembersAsync(IPropertyLoadOption propertyLoadOption, IRelationLoadOption relationLoadOption)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [IPropertyLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.ipropertyloadoption.html) | propertyLoadOption | Properties to load. |
| [IRelationLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.irelationloadoption.html) | relationLoadOption | Relations to load. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>bool | true if new members were added on the current entity. |

#### Remarks

Culture sensitive properties will only be loaded in the current cultures. Lazy loading is only possible on entities that are not new.

### LoadPropertiesAsync(IPropertyLoadOption)

Loads the specified properties on the current entity. It will only load if it is actually missing properties and does not overwrite existing properties.

#### Declaration

```csharp
public Task<bool> LoadPropertiesAsync(IPropertyLoadOption propertyLoadOption)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [IPropertyLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.ipropertyloadoption.html) | propertyLoadOption | Properties to load. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>bool | true if new properties were added on the current entity. |

#### Remarks

Culture sensitive properties will only be loaded in the current cultures. Lazy loading is only possible on entities that are not new.

### LoadRelationsAsync(IRelationLoadOption)

Loads the specified relations on the current entity. It will only load if it is actually missing relations and does not overwrite existing relations.

#### Declaration

```csharp
public Task<bool> LoadRelationsAsync(IRelationLoadOption relationLoadOption)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [IRelationLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.irelationloadoption.html) | relationLoadOption | Relations to load. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>bool | true if new members were added on the current entity. |

#### Remarks

Lazy loading is only possible on entities that are not new.

### LoadTypedMembersAsync()

Ensures that the members provided by the strongly typed class are loaded. To be used in combination with [CanDoLazyLoading()](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html). Note that this will only load culture sensitive properties in the cultures that the entity was initially loaded with.

#### Declaration

```csharp
public Task LoadTypedMembersAsync()
```

#### Returns

| Type | Description |
| --- | --- |
| Task | An awaitable . |

## See Also

[LoadMembersAsync](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html)[IPropertyLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.ipropertyloadoption.html)[IRelationLoadOption](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.framework.essentials.loadoptions.irelationloadoption.html)

### MarkClean()

Marks the object as clean. This will set [IsDirty](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html) to false.

#### Declaration

```csharp
public void MarkClean()
```

### SetPropertyValue(string, CultureInfo, object)

Sets the value of specified culture sensitive property.

#### Declaration

```csharp
public void SetPropertyValue(string name, CultureInfo culture, object value)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| CultureInfo | culture | Culture of the value. |
| object | value | Property value. |

#### Exceptions

| Type | Condition |
| --- | --- |
| [PropertyNotFoundException](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.exceptions.propertynotfoundexception.html) | When the property does not exist or was not loaded. |

### SetPropertyValue(string, object)

Sets the value of specified culture insensitive property.

#### Declaration

```csharp
public void SetPropertyValue(string name, object value)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | Property name. |
| object | value | Property value. |

#### Exceptions

| Type | Condition |
| --- | --- |
| [PropertyNotFoundException](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.exceptions.propertynotfoundexception.html) | When the property does not exist or was not loaded. |

### StartTracking()

Starts tracking the object for changes.

#### Declaration

```csharp
public void StartTracking()
```

### Implements

[ITypedEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.itypedentity.html)

[IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html)

[IResource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iresource.html)

[IDirtyTracking](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html)
