/// <summary>
 /// Creates a new instance of TableSearchItem with the specified values
 /// </summary>
 /// <param name="propertyName">The name of the property to be used for comparison/matching</param>
 /// <param name="value">The value to compare the property value to</param>
 /// <param name="matchType">The type of comparison to perform between the property value and the specified value</param>
 public TableSearchItem(string propertyName, string value, SearchItemMatchType matchType = SearchItemMatchType.IsEqualTo)
 {
     if (String.IsNullOrWhiteSpace(propertyName))
     {
         throw new Exception("The Property Name cannot be null or empty.");
     }
     _propertyName = propertyName.Trim();
     _value        = value ?? "";
     _matchType    = matchType;
 }
 /// <summary>
 /// Creates a new instance of TableSearchItem with the specified values
 /// </summary>
 /// <param name="propertyName">The name of the property to be used for comparison/matching</param>
 /// <param name="value">The value to compare the property value to</param>
 /// <param name="matchType">The type of comparison to perform between the property value and the specified value</param>
 public TableSearchItem(string propertyName, string value, SearchItemMatchType matchType = SearchItemMatchType.IsEqualTo) {
     if (String.IsNullOrWhiteSpace(propertyName)) throw new Exception("The Property Name cannot be null or empty.");
     _propertyName = propertyName.Trim();
     _value = value ?? "";
     _matchType = matchType;
 }