protected override ITableEntity CreateTableEntity(TData data) { var tableEntity = new EntityTableEntity <TData>(data); //Flatten object of type TData and convert it to EntityProperty Dictionary Dictionary <string, EntityProperty> flattenedProperties = EntityPropertyConverter.Flatten(data, new OperationContext()); // Create a DynamicTableEntity and set its PK and RK DynamicTableEntity dynamicTableEntity = new DynamicTableEntity(tableEntity.PartitionKey, tableEntity.RowKey) { Properties = flattenedProperties }; return(dynamicTableEntity); }
protected override ITableEntity ReplaceValues(TableResult retrievedResult, EntityTableEntity <TData> data) { ITableEntity tableEntity = (ITableEntity)retrievedResult.Result; // Events aren't updated var dynamicTableEntity = tableEntity as DynamicTableEntity; if (dynamicTableEntity == null) { base.ReplaceValues(retrievedResult, data); return(tableEntity); } //Flatten object of type TData and convert it to EntityProperty Dictionary Dictionary <string, EntityProperty> flattenedProperties = EntityPropertyConverter.Flatten(data.Entity, new OperationContext()); dynamicTableEntity.Properties = flattenedProperties; return(dynamicTableEntity); }
/// <summary> /// Gets a <see cref="TableOperation"/> that calls <see cref="TableOperation.Retrieve{TData}(string,string,System.Collections.Generic.List{string})"/> /// for updating. /// </summary> /// <param name="data">The <see cref="EntityTableEntity{TEntity}"/> containing the <see cref="EntityTableEntity{TEntity}.Entity"/> containing the <see cref="IEntity.Rsn"/> property populated.</param> protected override TableOperation GetUpdatableTableEntity(EntityTableEntity <TData> data) { return(GetUpdatableTableEntity(data.Entity)); }