/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="tableName">Name of the table to be connected to.</param>
        /// <param name="storageConnectionString">Connection string for the Azure storage account used to host this table.</param>
        /// <param name="loggerFactory">Logger factory to use.</param>
        public AzureTableDataManager(string tableName, string storageConnectionString, ILoggerFactory loggerFactory)
        {
            Logger           = new LoggerWrapper <AzureTableDataManager <T> >(loggerFactory);
            TableName        = tableName;
            ConnectionString = storageConnectionString;

            AzureStorageUtils.ValidateTableName(tableName);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="tableName">Name of the table to be connected to.</param>
        /// <param name="storageConnectionString">Connection string for the Azure storage account used to host this table.</param>
        /// <param name="logger">Logger to use.</param>
        public AzureTableDataManager(string tableName, string storageConnectionString, Logger logger = null)
        {
            var loggerName = "AzureTableDataManager-" + typeof(T).Name;

            Logger           = logger ?? LogManager.GetLogger(loggerName, LoggerType.Runtime);
            TableName        = tableName;
            ConnectionString = storageConnectionString;

            AzureStorageUtils.ValidateTableName(tableName);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="tableName">Name of the table to be connected to.</param>
        /// <param name="storageConnectionString">Connection string for the Azure storage account used to host this table.</param>
        public AzureTableDataManager(string tableName, string storageConnectionString, TraceLogger logger = null)
        {
            var loggerName = "AzureTableDataManager-" + typeof(T).Name;

            Logger           = logger ?? TraceLogger.GetLogger(loggerName, TraceLogger.LoggerType.Runtime);
            TableName        = tableName;
            ConnectionString = storageConnectionString;

            AzureStorageUtils.ValidateTableName(tableName);
            tableOperationsClient = GetCloudTableOperationsClient();
        }