ITableEntity Interface


An interface required for table entity types. The ITableEntity interface declares getter and setter methods for the mandatory entity properties, and ReadEntity(IDictionary<String,EntityProperty>, OperationContext) and WriteEntity(OperationContext) methods for serialization and de-serialization of all entity properties using a property dictionary. Create classes implementing ITableEntity to customize property storage, retrieval, serialization and de-serialization, and to provide additional custom logic for a table entity.

public interface ITableEntity
type ITableEntity = interface
Public Interface ITableEntity


The storage client library includes two implementations of ITableEntity that provide for simple property access and serialization:

DynamicTableEntity implements ITableEntity and provides a simple property dictionary to store and retrieve properties. Use a DynamicTableEntity for simple access to entity properties when only a subset of properties are returned (for example, by a select clause in a query), or for scenarios where your query can return multiple entity types with different properties. You can also use this type to perform bulk table updates of heterogeneous entities without losing property information.

TableEntity is an implementation of ITableEntity that uses reflection-based serialization and de-serialization behavior in its ReadEntity(IDictionary<String,EntityProperty>, OperationContext) and WriteEntity(OperationContext) methods. TableEntity-derived classes with methods that follow a convention for types and naming are serialized and deserialized automatically. TableEntity-derived classes must also provide a get-able and set-able public property of a type that is supported by the Microsoft Azure Table service.



Gets or sets the entity's current ETag. Set this value to '*' in order to blindly overwrite an entity as part of an update operation.


Gets or sets the entity's partition key.


Gets or sets the entity's row key.


Gets or sets the entity's timestamp.


ReadEntity(IDictionary<String,EntityProperty>, OperationContext)

Populates the entity's properties from the EntityProperty data values in the properties dictionary.


Serializes the IDictionary<TKey,TValue> of property names mapped to EntityProperty data values from the entity instance.

Applies to