private bool Equals(FieldDescriptor b)
        {
            // If both are null, or both are same instance, return true.
            if (ReferenceEquals(this, b))
            {
                return true;
            }

            // If one is null, but not both, return false.
            if ( ((object)b == null))
            {
                return false;
            }

            // Return true if the fields match:
            return (StartAsNotSet == b.StartAsNotSet) &&
                         (AutoIncrement == b.AutoIncrement) &&
                         (DataType == b.DataType) &&
                         (MinLength == b.MinLength) &&
                         (MaxLength == b.MaxLength) &&
                         (MinValue == b.MinValue) &&
                         (MaxValue == b.MaxValue) &&
                         (Default == b.Default) &&
                         (Precision == b.Precision) &&
                         (IsNullable == b.IsNullable);
        }
 public void AddField(string fieldName, FieldDescriptor fieldDescriptor)
 {
     _fields.Add(new Field(fieldName, fieldDescriptor));
 }