<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.ComponentModel.DataAnnotations</name>
    </assembly>
    <members>
        <member name="T:System.ComponentModel.DataAnnotations.AssociationAttribute">
            <summary>
            Used to mark an Entity member as an association
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.AssociationAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            Full form of constructor
            </summary>
            <param name="name">The name of the association. For bi-directional associations, the name must
            be the same on both sides of the association</param>
            <param name="thisKey">Comma separated list of the property names of the key values
            on this side of the association</param>
            <param name="otherKey">Comma separated list of the property names of the key values
            on the other side of the association</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.AssociationAttribute.GetKeyMembers(System.String)">
            <summary>
            Parses the comma delimited key specified
            </summary>
            <param name="key">The key to parse</param>
            <returns>Array of individual key members</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.Name">
            <summary>
            Gets the name of the association. For bi-directional associations, the name must
            be the same on both sides of the association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKey">
            <summary>
            Gets a comma separated list of the property names of the key values
            on this side of the association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKey">
            <summary>
            Gets a comma separated list of the property names of the key values
            on the other side of the association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.IsForeignKey">
            <summary>
            Gets or sets a value indicating whether this association member represents the foreign key
            side of an association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKeyMembers">
            <summary>
            Gets the collection of individual key members specified in the ThisKey string.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKeyMembers">
            <summary>
            Gets the collection of individual key members specified in the OtherKey string.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ConcurrencyCheckAttribute">
            <summary>
            This attribute is used to mark the members of a Type that participate in
            optimistic concurrency checks.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.CustomValidationAttribute">
            <summary>
            Validation attribute that executes a user-supplied method at runtime.
            </summary>
            <remarks>
            This validation attribute is used to invoke custom logic to perform validation at runtime.
            Like any other <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>, its <see cref="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValid(System.Object)"/> method is invoked to
            perform validation.  This implementation simply redirects that call to the method identified
            by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> on a type identified by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/>
            <para>
            The supplied <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> cannot be null, and it must be a public type.
            </para>
            <para>
            The named <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> must be public, static, return a bool and take at least one input
            parameter for the value to be validated.  This value parameter may be strongly typed.  Type conversion will
            be attempted if clients pass in a value of a different type.
            </para>
            <para>
            The <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> may also declare 2 additional parameters; a <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>
            and an (out) <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>.   The input <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> parameter provides
            additional context the method may use to determine the context in which it is being used.  The
            <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> output parameter allows the method to return a custom error message in
            the case the value is invalid.
            </para>
            <para>
            If the method returns a <c>null</c> for <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> or an empty <see cref="P:System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage"/>
            then the normal <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> method will be called to compose the error message.
            </para>
            <para>
            The bool value returned by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> indicates whether a given value is acceptable.  A <c>true</c> return means
            the given value is acceptable, and a <c>false</c> return indicates it is not.
            </para>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttribute">
            <summary>
            Base class for all validation attributes.
            </summary>
            <remarks>
            The properties <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/> are used to provide
            a localized error message, but they cannot be set if <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/> is also used to provide a non-localized
            error message.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.#ctor">
            <summary>
            Default constructor for any validation attribute.
            </summary>
            <remarks>This constructor chooses a very generic validation error message.
            Developers subclassing ValidationAttribute should use other constructors
            or supply a better message.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts a fixed validation error message.
            </summary>
            <param name="errorMessage">A non-localized error message to use in <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString"/></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.#ctor(System.Func{System.String})">
            <summary>
            Allows for providing a resource accessor function that will be used by the <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString"/> property to retrieve the error message.
            An example would be to have something like CustomAttribute() : base( () =&gt; MyResources.MyErrorMessage ) {}
            </summary>
            <param name="errorMessageAccessor"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.SetupResourceAccessor">
            <summary>
            Validates the configuration of this attribute and sets up the appropriate error string accessor.
            This method bypasses all verification once the ResourceAccessor has been set.
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)">
            <summary>
            Formats the error message to present to the user.
            </summary>
            <remarks>The error message will be re-evaluated every time this function is called. 
            It applies the <paramref name="name"/> (for example, the name of a field) to the formated error message, resulting 
            in something like "The field 'name' has an incorrect value".
            <para>
            Derived classes can override this method to customize how errors are generated.
            </para>
            <para>
            The base class implementation will use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString"/> to obtain a localized
            error message from properties within the current attribute.  If those have not been set, a generic
            error message will be provided.
            </para>
            </remarks>
            <param name="name">The user-visible name to include in the formatted message.</param>
            <returns>The localized string describing the validation error</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)">
            <summary>
            Gets the value indicating whether or not the specified <paramref name="value"/> is valid
            with respect to the current validation attribute.
            </summary>
            <remarks>
            Derived classes should implement their validation logic here.
            <para>
            The preferred public entry point for clients requesting validation is the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/> method.
            </para>
            </remarks>
            <param name="value">The value to validate</param>
            <returns><c>true</c> if the <paramref name="value"/> is acceptable, <c>false</c> if it is not acceptable</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)">
            <summary>
            Tests whether the given <paramref name="value"/> is valid with respect to the current
            validation attribute without throwing a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/>
            </summary>
            <remarks>
            If this method returns <c>false</c>, the output <paramref name="validationResult"/> will be guaranteed
            to be non-null.  Additionally, <see cref="P:System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationResult.MemberNames"/>
            will be guaranteed to be non-empty.
            </remarks>
            <param name="value">The value to validate</param>
            <param name="validationContext">Additional context in which this test is being made.  It cannot be null.</param>
            <param name="validationResult">The output information describing the problem when this method returns <c>false</c>.</param>
            <returns><c>true</c> if the value is valid, otherwise <c>false</c></returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)">
            <summary>
            Protected virtual method which can be overridden to perform contextual validation.
            </summary>
            <remarks>
            This implementation in the base class does not use the <paramref name="validationContext"/> but merely
            calls the current object's <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>.  If that method returns <c>false</c>,
            this method constructs a <paramref name="validationResult"/> using <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/>
            and the current attributes <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>.  Subclasses that want this behavior should
            invoke this base class's method.  Subclasses that want to set <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> explicitly should
            not invoke this base class's method.
            </remarks>
            <param name="value">The value to validate</param>
            <param name="validationContext">Additional context in which the test is being made</param>
            <param name="validationResult">Output information describing the problem if this method returns <c>false</c></param>
            <returns><c>true</c> if the value is valid, otherwise <c>false</c></returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object,System.String)">
            <summary>
            Validates the specified <paramref name="value"/> and throws <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if it is not.
            </summary>
            <remarks>This base method invokes the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/> method to determine whether or not the
            <paramref name="value"/> is acceptable.  If <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/> returns <c>false</c>, this base
            method will invoke the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> to obtain a localized message describing
            the problem, and it will throw a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/>
            </remarks>
            <param name="value">The value to validate</param>
            <param name="name">The string to be included in the validation error message if <paramref name="value"/> is not valid</param>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException"> is thrown if <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/> returns <c>false</c>.
            </exception>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Validates the specified <paramref name="value"/> and throws <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if it is not.
            </summary>
            <remarks>This base method invokes the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/> method 
            to determine whether or not the <paramref name="value"/> is acceptable.  
            If that method returns <c>false</c>, this base method will throw a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> containing
            the <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> describing the problem.
            </remarks>
            <param name="value">The value to validate</param>
            <param name="validationContext">Additional context that may be used for validation.  It cannot be null.</param>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException"> is thrown if <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/> 
            returns <c>false</c>.
            </exception>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString">
            <summary>
            Gets the localized error message string, coming either from <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/>, or from evaluating the 
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/> pair.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType">
            <summary>
            Gets or sets the resource type to use for error message lookups.
            </summary>
            <value>
            Use this property only in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/>.  They are
            used together to retrieve localized error messages at runtime.
            <para>Use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/> instead of this pair if error messages are not localized.
            </para>
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName">
            <summary>
            Gets or sets the resource name (property name) to use as the key for lookups on the resource type.
            </summary>
            <value>
            Use this property to set the name of the property within <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/>
            that will provide a localized error message.  Use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/> for non-localized error messages.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage">
            <summary>
            Gets or sets and explicit error message string.
            </summary>
            <value>
            This property is intended to be used for non-localizable error messages.
            Use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/> for localizable error messages.
            </value>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.#ctor(System.Type,System.String)">
            <summary>
            Instantiates a custom validation attribute that will invoke a method in the
            specified type.
            </summary>
            <remarks>An invalid <paramref name="ValidatorType"/> or <paramref name="Method"/> will be cause <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            to return <c>false</c> and <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> to return a summary error message
            </remarks>
            <param name="validatorType">The type that will contain the method to invoke.  It cannot be null.  See <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/></param>
            <param name="method">The name of the method to invoke in <paramref name="validatorType"/></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This method is forwarded to the method declared in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/>.</remarks>
            <param name="value">The value to be tested</param>
            <returns>Whatever the <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> returns.</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)">
            <summary>
            Override of long form of validation method.  See <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>.
            </summary>
            <param name="value">The value to validate.</param>
            <param name="validationContext">The context in which the validation is happening.</param>
            <param name="validationResult">The output parameter to receive the detailed results of the validation.</param>
            <returns>Whatever the <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> returns.</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValidInternal(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)">
            <summary>
            Private helper method to handle both forms of IsValid.
            </summary>
            <param name="value">The value.</param>
            <param name="validationContext">The context, which may be null in the short-form of IsValid.</param>
            <param name="validationResult">The output parameter for the results.</param>
            <returns>Whatever the <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> returns.</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <param name="name">The name to include in the formatted string</param>
            <returns>A localized string to describe the problem.</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsAttributeValid(System.String@)">
            <summary>
            Determines whether the current attribute instance itself is valid for use.
            </summary>
            <param name="errorMessage">The returned error message if it is not valid, null if it is valid</param>
            <returns><c>true</c> if it is valid</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidateValidatorTypeParameter">
            <summary>
            Internal helper to determine whether <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> is legal for use.
            </summary>
            <returns>Null or the appropriate error message</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidateMethodParameter">
            <summary>
            Internal helper to determine whether <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> is legal for use.
            </summary>
            <returns>Null or the appropriate error message</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ThrowIfAttributeNotValid">
            <summary>
            Throws InvalidOperationException if the attribute is not valid
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.TryConvertValue(System.Object,System.Object@)">
            <summary>
            Attempts to convert the given value to the type needed to invoke the method for the current
            CustomValidationAttribute
            </summary>
            <param name="value">The value to check/convert</param>
            <param name="convertedValue">If successful, the converted (or copied) value</param>
            <returns><c>true</c> if tye value was already correct or was successfully converted</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType">
            <summary>
            Gets the type that contains the validation method identified by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/>
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method">
            <summary>
            Gets the name of the method in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> to invoke to perform validation.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DataType">
            <summary>
            Enumeration of logical data types that may appear in <see cref="T:System.ComponentModel.DataAnnotations.DataTypeAttribute"/>
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Custom">
            <summary>
            Custom data type, not one of the static data types we know
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.DateTime">
            <summary>
            DateTime data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Date">
            <summary>
            Date data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Time">
            <summary>
            Time data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Duration">
            <summary>
            Duration data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.PhoneNumber">
            <summary>
            Phone number data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Currency">
            <summary>
            Currency data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Text">
            <summary>
            Plain text data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Html">
            <summary>
            Html data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.MultilineText">
            <summary>
            Multiline text data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.EmailAddress">
            <summary>
            Email address data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Password">
            <summary>
            Password data type -- do not echo in UI
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Url">
            <summary>
            URL data type
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DataTypeAttribute">
            <summary>
            Allows for clarification of the DataType represented by a given property (such as Password vs URL)
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.GetDataTypeName">
            <summary>
            Return the name of the data type, either using the <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType"/> enum or <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType"/> string
            </summary>
            <returns>The name of the data type enum</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.#ctor(System.ComponentModel.DataAnnotations.DataType)">
            <summary>
            Constructor that accepts a data type enumeration
            </summary>
            <param name="dataType"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the string name of a custom data type
            </summary>
            <param name="customDataType"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This override always returns <c>true</c>.  Subclasses should override this to provide the correct result.</remarks>
            <param name="value">The value to validate</param>
            <returns>Unconditionally returns <c>true</c></returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.EnsureValidDataType">
            <summary>
            Throws an exception if this attribute is not correctly formed
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType">
            <summary>
            Gets the DataType. If it equals DataType.Custom, <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType"/> should also be retrieved.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType">
            <summary>
            Gets the string representing a custom data type. Returns a non-null value only if <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType"/> is DataType.Custom.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DisplayFormat">
            <summary>
            Gets the default display format that gets used along with this DataType.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DisplayAttribute">
            <summary>
            DisplayAttribute is a general-purpose attribute to specify user-visible globalizable strings for types and members.
            The string properties of this class can be used either as literals or as resource identifiers into a specified
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.#ctor">
            <summary>
            Default constructor for DisplayAttribute.  All associated string properties and methods will return nulls.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName">
            <summary>
            Gets the UI display string for ShortName.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            <para>
            If <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> is <c>null</c>, the value from <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/> will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName">
            <summary>
            Gets the UI display string for Name.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            <para>
            Can return <c>null</c> and will not fall back onto other values, as it's more likely for the
            consumer to want to fall back onto the property name.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription">
            <summary>
            Gets the UI display string for Description.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt">
            <summary>
            Gets the UI display string for Prompt.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName">
            <summary>
            Gets the UI display string for GroupName.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateField">
            <summary>
            Gets the value of <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField"/> if it has been set, or null.
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField"/> has been set returns the value of that property.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField"/> has not been set returns null.
            </para>
            </returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateFilter">
            <summary>
            Gets the value of <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter"/> if it has been set, or null.
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter"/> has been set returns the value of that property.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter"/> has not been set returns null.
            </para>
            </returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName">
            <summary>
            Gets or sets the ShortName attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            short name for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            The short name is generally used as the grid column label for a UI element bound to the member
            bearing this attribute.  A null or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name">
            <summary>
            Gets or sets the Name attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            name for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            The name is generally used as the field label for a UI element bound to the member
            bearing this attribute.  A null or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description">
            <summary>
            Gets or sets the Description attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            description for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            Description is generally used as a tool tip or description a UI element bound to the member
            bearing this attribute.  A null or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt">
            <summary>
            Gets or sets the Prompt attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            prompt for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            A prompt is generally used as a prompt or watermark for a UI element bound to the member
            bearing this attribute.  A null or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName">
            <summary>
            Gets or sets the GroupName attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            group name for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            A group name is used for grouping fields into the UI.  A null or empty string is legal,
            and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType">
            <summary>
            Gets or sets the <see cref="T:System.Type"/> that contains the resources for <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/>,
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/>, <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/>, <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/>, and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/>.
            Using <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> along with these Key properties, allows the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName"/>,
            <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/>, <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription"/>, <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt"/>, and <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName"/>
            methods to return localized values.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Order">
            <summary>
            Gets or sets the order of the column.  Columns are will be sorted in increasing order based 
            on the Order value. Columns without this attribute have a default Order of 0. Negative values are
            allowed and can be used to place a column before all other columns.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField">
            <summary>
            Gets or sets whether UI should be generated automatically to display this field. If this property is not
            set then the presentation layer will automatically determine whether UI should be generated. Setting this
            property explicitly allows to override the default behavior of the presentation layer.
            </summary>
            <remarks>
            Consumers of this method should utilize the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateField"/> method to retrieve the value.
            That method will return either return null if this property has not been set or the value that was used
            when setting this property.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            If the getter of this property is invoked when the value has not been explicitly set using the setter.
            </exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter">
            <summary>
            Gets or sets whether UI should be generated automatically to display filtering for this field. If this property is not
            set then the presentation layer will automatically determine whether filtering UI should be generated. Setting this
            property explicitly allows to override the default behavior of the presentation layer.
            </summary>
            <remarks>
            Consumers of this method should utilize the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateFilter"/> method to retrieve the value.
            That method will return either return null if this property has not been set or the value that was used
            when setting this property.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            If the getter of this property is invoked when the value has not been explicitly set using the setter.
            </exception>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DisplayColumnAttribute">
            <summary>
            Sets the display column, the sort column, and the sort order for when a table is used as a parent table in FK relationships.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DisplayFormatAttribute">
            <summary>
            Allows overriding various display-related options for a given field. The options have the same meaning as in BoundField.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.DataFormatString">
            <summary>
            Gets or sets the format string
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.NullDisplayText">
            <summary>
            Gets or sets the string to display when the value is null
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.ConvertEmptyStringToNull">
            <summary>
            Gets or sets a value indicating whether empty strings should be set to null
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.ApplyFormatInEditMode">
            <summary>
            Gets or sets a value indicating whether the format string should be used in edit mode
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.FilterUIHintAttribute">
            <summary>
            An attribute used to specify the filtering behavior for a column.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the name of the control, without specifying which presentation layer to use
            </summary>
            <param name="uiHint"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.#ctor(System.String,System.String)">
            <summary>
            Constructor that accepts both the name of the control as well as the presentation layer
            </summary>
            <param name="uiHint">The name of the control to use</param>
            <param name="presentationLayer">The name of the presentation layer that supports this control</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.#ctor(System.String,System.String,System.Object[])">
            <summary>
            Full constructor that accepts the name of the control, presentation layer, and optional parameters
            to use when constructing the control
            </summary>
            <param name="uiHint">The name of the control</param>
            <param name="presentationLayer">The presentation layer</param>
            <param name="controlParameters">The list of parameters for the control</param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.FilterUIHint">
            <summary>
            Gets the name of the control that is most appropriate for this associated property or field
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.PresentationLayer">
            <summary>
            Gets the name of the presentation layer that supports the control type in <see cref="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.FilterUIHint"/>
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.ControlParameters">
            <summary>
            Gets the name-value pairs used as parameters to the control's constructor
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.KeyAttribute">
            <summary>
            Used to mark one or more entity properties that provide the entity's unique identity
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.LocalizableString">
            <summary>
            A helper class for providing a localizable string property.  
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.LocalizableString.#ctor(System.String)">
            <summary>
            Constructs a localizable string, specifying the property name associated
            with this item.  The <paramref name="propertyName"/> value will be used
            within any exceptions thrown as a result of localization failures.
            </summary>
            <param name="propertyName"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.LocalizableString.ClearCache">
            <summary>
            Clears any cached values, forcing <see cref="M:System.ComponentModel.DataAnnotations.LocalizableString.GetLocalizableValue"/> to
            perform evaluation.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.LocalizableString.GetLocalizableValue">
            <summary>
            Gets the potentially localized value
            </summary>
            <remarks>
            If <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/> is not
            null, then localization will occur and the localized value will be returned.
            <para>
            If <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> is null then <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/> will be returned
            as a literal, non-localized string.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            Thrown if localization fails.  This can occur if <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> has been
            specified, <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/> is not null, but the resource could not be
            accessed.  <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> must be a public class, and <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/>
            must be the name of a public static string property that contains a getter.
            </exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.LocalizableString.Value">
            <summary>
            Gets or sets the value of this localizable string.  This value can be
            either the literal, non-localized value, or it can be a resource name
            found on the resource type supplied to <see cref="M:System.ComponentModel.DataAnnotations.LocalizableString.GetLocalizableValue"/>.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType">
            <summary>
            Gets or sets the resource type to be used for localization.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.MetadataTypeAttribute">
            <summary>
            Used for associating a metadata class with the entity class.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.RangeAttribute">
            <summary>
            Used for specifying a range constraint
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructor that takes integer minimum and maximum values
            </summary>
            <param name="minimum">The minimum value, inclusive</param>
            <param name="maximum">The maximum value, inclusive</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.#ctor(System.Double,System.Double)">
            <summary>
            Constructor that takes double minimum and maximum values
            </summary>
            <param name="minimum">The minimum value, inclusive</param>
            <param name="maximum">The maximum value, inclusive</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.#ctor(System.Type,System.String,System.String)">
            <summary>
            Allows for specifying range for arbitrary types. The minimum and maximum strings will be converted to the target type.
            </summary>
            <param name="type">The type of the range params. Must implement IComparable.</param>
            <param name="minimum"></param>
            <param name="maximum"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.IsValid(System.Object)">
            <summary>
            Returns true if the value falls between min and max, inclusive.
            </summary>
            <param name="value"></param>
            <returns><c>true</c> means the <paramref name="value"/> is valid</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <remarks>This override exists to provide a formatted message describing the minimum and maximum values</remarks>
            <param name="name"></param>
            <returns>A localized string describing the minimum and maximum values</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.SetupConversion">
            <summary>
            Validates the properties of this attribute and sets up the conversion function.
            This method throws exceptions if the attribute is not configured properly.
            If it has once determined it is properly configured, it is a NOP.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RangeAttribute.Minimum">
            <summary>
            Gets the minimum value for the range
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RangeAttribute.Maximum">
            <summary>
            Gets the maximum value for the range
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RangeAttribute.OperandType">
            <summary>
            Gets the type of the <see cref="P:System.ComponentModel.DataAnnotations.RangeAttribute.Minimum"/> and <see cref="P:System.ComponentModel.DataAnnotations.RangeAttribute.Maximum"/> values (i.e. Int32, Double, or some custom type)
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.RegularExpressionAttribute">
            <summary>
            Regular expression validation attribute
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the regular expression pattern
            </summary>
            <param name="pattern">The regular expression to use.  It cannot be null.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This override performs the specific regular expression matching of the given <paramref name="value"/></remarks>
            <param name="value"></param>
            <returns><c>true</c> if the given value matches the current regular expression pattern</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
            <exception cref="T:System.ArgumentException"> is thrown if the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> is not a valid regular expression.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.FormatErrorMessage(System.String)">
            <summary>
            Overrride of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <remarks>This override provide a formatted error message describing the pattern</remarks>
            <param name="name"></param>
            <returns>The localized message to present to the user</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
            <exception cref="T:System.ArgumentException"> is thrown if the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> is not a valid regular expression.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.SetupRegex">
            <summary>
            Sets up the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Regex"/> property from the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> property.
            </summary>
            <exception cref="T:System.ArgumentException"> is thrown if the current <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> cannot be parsed</exception>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern">
            <summary>
            Gets the regular expression pattern to use
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.RequiredAttribute">
            <summary>
            Validation attribute to indicate that a property field or parameter is required.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RequiredAttribute.#ctor">
            <summary>
            Default constructor.
            </summary>
            <remarks>This constructor selects a reasonable default error message for <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/></remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RequiredAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <param name="value">The value to test</param>
            <returns><c>false</c> if the <paramref name="value"/> is null or an empty string</returns>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AssociatedMetadataTypeTypeDescriptor_MetadataTypeContainsUnknownProperties">
            <summary>
              Looks up a localized string similar to The associated metadata type for type &apos;{0}&apos; contains the following unknown properties or fields: {1}. Please make sure that the names of these members match the names of the properties on the main type..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AttributeStore_Type_Must_Be_Public">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; must be public..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AttributeStore_Unknown_Method">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; does not contain a public method named &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AttributeStore_Unknown_Property">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; does not contain a public property named &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Must_Return_Bool">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; in type &apos;{1}&apos; must return a Boolean..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Not_Found">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; does not exist in type &apos;{1}&apos; or is not public and static (or Shared in Visual Basic)..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Required">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute.Method was not specified..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Must_Accept_At_Least_One_Param">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; in type &apos;{1}&apos; must declare an input parameter for the value..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Short_Form_Not_Supported">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; in type &apos;{1}&apos; requires 3 parameters: the object, a ValidationContext and a ValidationResult parameter that will be updated with the validation result.  (In C#, this last parameter must be an &quot;out&quot; parameter. In Visual Basic, this last parameter must be passed using &quot;ByRef&quot;.).
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Type_Must_Be_Public">
            <summary>
              Looks up a localized string similar to The custom validation type &apos;{0}&apos; must be public..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to {0} is not valid..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_ValidatorType_Required">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute.ValidatorType was not specified..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Wrong_Parameters">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; in type &apos;{1}&apos; does not have the correct signature.  It should declare 3 parameters: the object to be validated, a ValidationContext, and a parameter to receive a ValidationResult.   (In C#, this last parameter must be an &quot;out&quot; parameter. In Visual Basic, this last parameter must be passed using &quot;ByRef&quot;.).
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.DataTypeAttribute_EmptyDataTypeString">
            <summary>
              Looks up a localized string similar to The custom DataType string cannot be null or empty..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.DisplayAttribute_AutoGenerateFieldNotSet">
            <summary>
              Looks up a localized string similar to The AutoGenerateField property has not been set. Use the GetAutoGenerateField method to get the value..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.DisplayAttribute_AutoGenerateFilterNotSet">
            <summary>
              Looks up a localized string similar to The AutoGenerateFilter property has not been set. Use the GetAutoGenerateFilter method to get the value..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.EnumDataTypeAttribute_TypeCannotBeNull">
            <summary>
              Looks up a localized string similar to The type provided for EnumDataTypeAttribute cannot be null..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.EnumDataTypeAttribute_TypeNeedsToBeAnEnum">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; needs to represent an enumeration type..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.LocalizableString_LocalizationFailed">
            <summary>
              Looks up a localized string similar to Cannot retrieve property &apos;{0}&apos; because localization failed.  Type &apos;{1}&apos; is not public or does not contain a public static string property with the name &apos;{2}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.MetadataTypeAttribute_TypeCannotBeNull">
            <summary>
              Looks up a localized string similar to MetadataClassType cannot be null..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Method_Parameter_Count_Wrong">
            <summary>
              Looks up a localized string similar to Method &apos;{0}&apos; requires {1} parameters..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Parameter_Value_Wrong_Type">
            <summary>
              Looks up a localized string similar to The value for parameter &apos;{0}&apos; must be of type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Property_Value_Wrong_Type">
            <summary>
              Looks up a localized string similar to The value for property &apos;{0}&apos; must be of type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_ArbitraryTypeNotIComparable">
            <summary>
              Looks up a localized string similar to The type {0} must implement {1}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_MinGreaterThanMax">
            <summary>
              Looks up a localized string similar to The maximum value &apos;{0}&apos; must be greater than or equal to the minimum value &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_Must_Set_Min_And_Max">
            <summary>
              Looks up a localized string similar to The minimum and maximum values must be set,.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_Must_Set_Operand_Type">
            <summary>
              Looks up a localized string similar to The OperandType must be set when strings are used for minimum and maximum values..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} must be between {1} and {2}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RegexAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} must match the regular expression &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RegularExpressionAttribute_Empty_Pattern">
            <summary>
              Looks up a localized string similar to The pattern must be set to a valid regular expression..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RequiredAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The {0} field is required..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.StringLengthAttribute_InvalidMaxLength">
            <summary>
              Looks up a localized string similar to The maximum length must be a nonnegative integer..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.StringLengthAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} must be a string with a maximum length of {1}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_ControlParameterKeyIsNotAString">
            <summary>
              Looks up a localized string similar to The key parameter at position {0} with value &apos;{1}&apos; is not a string. Every key control parameter must be a string..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_ControlParameterKeyIsNull">
            <summary>
              Looks up a localized string similar to The key parameter at position {0} is null. Every key control parameter must be a string..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_ControlParameterKeyOccursMoreThanOnce">
            <summary>
              Looks up a localized string similar to The key parameter at position {0} with value &apos;{1}&apos; occurs more than once..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_NeedEvenNumberOfControlParameters">
            <summary>
              Looks up a localized string similar to The number of control parameters must be even..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_Cannot_Set_ErrorMessage_And_Resource">
            <summary>
              Looks up a localized string similar to Either ErrorMessageString or ErrorMessageResourceName must be set, but not both..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_NeedBothResourceTypeAndResourceName">
            <summary>
              Looks up a localized string similar to Both ErrorMessageResourceType and ErrorMessageResourceName need to be set on this attribute..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_ResourcePropertyNotStringType">
            <summary>
              Looks up a localized string similar to The property &apos;{0}&apos; on resource type &apos;{1}&apos; is not a string type..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_ResourceTypeDoesNotHaveProperty">
            <summary>
              Looks up a localized string similar to The resource type &apos;{0}&apos; does not have a publicly visible static property named &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} is invalid..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationContext_Must_Be_Method">
            <summary>
              Looks up a localized string similar to The ValidationContext for the type &apos;{0}&apos;, member name &apos;{1}&apos; must provide the MethodInfo..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationContextServiceContainer_ItemAlreadyExists">
            <summary>
              Looks up a localized string similar to A service of type &apos;{0}&apos; already exists in the container..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Validator_InstanceMustMatchValidationContextInstance">
            <summary>
              Looks up a localized string similar to The instance provided must match the ObjectInstance on the ValidationContext supplied..
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.StringLengthAttribute">
            <summary>
            Validation attribute to assert a string property, field or parameter does not exceed a maximum length
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.#ctor(System.Int32)">
            <summary>
            Constructor that accepts the maximum length of the string.
            </summary>
            <param name="maximumLength">The maximum length, inclusive.  It may not be negative.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This method returns <c>true</c> if the <paramref name="value"/> is null.  
            It is assumed the <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> is used if the value may not be null.</remarks>
            <param name="value">The value to test.</param>
            <returns><c>true</c> if the value is null or less than or equal to the set maximum length</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <param name="name">The name to include in the formatted string</param>
            <returns>A localized string to describe the maximum acceptable length</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.EnsureLegalLengths">
            <summary>
            Checks that MinimumLength and MaximumLength have legal values.  Throws InvalidOperationException if not.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.StringLengthAttribute.MaximumLength">
            <summary>
            Gets the maximum acceptable length of the string
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.StringLengthAttribute.MinimumLength">
            <summary>
            Gets or sets the minimum acceptable length of the string
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.TimestampAttribute">
            <summary>
            This attribute is used to mark a Timestamp member of a Type. 
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.UIHintAttribute">
            <summary>
            Attribute to provide a hint to the presentation layer about what control it should use
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the name of the control, without specifying which presentation layer to use
            </summary>
            <param name="uiHint"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.#ctor(System.String,System.String)">
            <summary>
            Constructor that accepts both the name of the control as well as the presentation layer
            </summary>
            <param name="uiHint">The name of the control to use</param>
            <param name="presentationLayer">The name of the presentation layer that supports this control</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.#ctor(System.String,System.String,System.Object[])">
            <summary>
            Full constructor that accepts the name of the control, presentation layer, and optional parameters
            to use when constructing the control
            </summary>
            <param name="uiHint">The name of the control</param>
            <param name="presentationLayer">The presentation layer</param>
            <param name="controlParameters">The list of parameters for the control</param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHint">
            <summary>
            Gets the name of the control that is most appropriate for this associated property or field
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.PresentationLayer">
            <summary>
            Gets the name of the presentation layer that supports the control type in <see cref="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHint"/>
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.ControlParameters">
            <summary>
            Gets the name-value pairs used as parameters to the control's constructor
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.SetControlParameters">
            <summary>
            Validates the input control parameters and throws InvalidOperationException if they are not correct.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.UIHint">
            <summary>
            Gets the name of the control that is most appropriate for this associated property or field
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.PresentationLayer">
            <summary>
            Gets the name of the presentation layer that supports the control type in <see cref="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.UIHint"/>
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationContext">
            <summary>
            Describes the context in which a validation is being performed.
            </summary>
            <remarks>
            This class contains information describing the instance on which
            validation is being performed.
            <para>
            It supports <see cref="T:System.IServiceProvider"/> so that custom validation
            code can acquire additional services to help it perform its validation.
            </para>
            <para>
            An <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/> property bag is available for additional contextual
            information about the validation.  Values stored in <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/>
            will be available to validation methods that use this <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>
            </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.#ctor(System.Object,System.IServiceProvider,System.Collections.Generic.IDictionary{System.Object,System.Object})">
            <summary>
            Construct a ValidationContext for a given object instance, an optional <paramref name="serviceProvider"/>, and an optional
            property bag of <paramref name="items"/>.
            </summary>
            <param name="instance">The object instance being validated.  It cannot be null.</param>
            <param name="serviceProvider">
            Optional <see cref="T:System.IServiceProvider"/> to use when <see cref="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)"/> is called.
            If it is null, <see cref="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)"/> will always return null.
            </param>
            <param name="items">Optional set of key/value pairs to make available to consumers via <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/>.
            If null, an empty dictionary will be created.  If not null, the set of key/value pairs will be copied into a
            new dictionary, preventing consumers from modifying the original dictionary.
            </param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is <c>null</c></exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.GetDisplayName">
            <summary>
            Looks up the display name using the DisplayAttribute attached to the respective type or property.
            </summary>
            <returns></returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)">
            <summary>
            See <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
            </summary>
            <param name="serviceType">The type of the service needed.</param>
            <returns>An instance of that service or null if it is not available.</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance">
            <summary>
            Gets the object instance being validated.  While it will not be null, the state of the instance is indeterminate
            as it might only be partially initialized during validation.
            <para>Consume this instance with caution!</para>
            </summary>
            <remarks>
            During validation, especially property-level validation, the object instance might be in an indeterminate state.
            For example, the property being validated, as well as other properties on the instance might not have been
            updated to their new values.
            </remarks>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectType">
            <summary>
            Gets the type of the object being validated.  It will not be null.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.DisplayName">
            <summary>
            Gets or sets the user-visible name of the type or property being validated.
            </summary>
            <value>If this name was not explicitly set, this property will consult an associated <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/>
            to see if can use that instead.  Lacking that, it returns <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName">
            <summary>
            Gets or sets the name of the type or property being validated.
            </summary>
            <value>This name reflects the API name of the member being validated, not a localized name.  It should be set
            only for property or parameter contexts.  The <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> type name will be used if MemberName
            has not been set.</value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.Items">
            <summary>
            Gets the dictionary of key/value pairs associated with this context.
            </summary>
            <value>This property will never be null, but the dictionary may be empty.  Changes made
            to items in this dictionary will never affect the original dictionary specified in the constructor.</value>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationResult">
            <summary>
            Container class for the results of a validation request.  
            <remarks>
            See <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/>
            </remarks>
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationResult.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Full constructor
            </summary>
            <param name="errorMessage">The user-visible error message.  If null, <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/> 
            will use <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> for its error message.</param>
            <param name="memberNames">The list of member names affected by by this result.  
            If empty, <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/>
            will construct this list from its <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/>.  
            This list of member names is meant to be used by presentation layers to indicate which fields are in error.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationResult.#ctor(System.String)">
            <summary>
            Constructor that accepts an error message
            </summary>
            <param name="errorMessage">The user-visible error message.  If null, <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationResult@)"/> will use
            <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> for its error message.</param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationResult.MemberNames">
            <summary>
            Gets the collection of member names affected by this result.  The collection may be empty but will never be null.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage">
            <summary>
            Gets the error message for this result.  It may be null.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.Validator">
            <summary>
            Helper class to validate objects, properties and other values using their associated <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>
            custom attributes.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateProperty(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult})">
            <summary>
            Tests whether the given property value is valid.
            </summary>
            <remarks>
            This method will test each <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/> associated with the property
            identified by <paramref name="validationContext"/>.  If <paramref name="validationResults"/> is non-null,
            this method will add a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> to it for each validation failure.
            <para>
            If there is a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> found on the property, it will be evaluated before all other
            validation attributes.  If the required validator fails then validation will abort, adding that single
            failure into the <paramref name="validationResults"/> when applicable, returning a value of <c>false</c>.
            </para>
            <para>
            If <paramref name="validationResults"/> is null and there isn't a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> failure,
            then all validators will be evaluated.
            </para>
            </remarks>
            <param name="value">The value to test</param>
            <param name="validationContext">Describes the property member to validate and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <returns><c>true</c> if the value is valid, <c>false</c> if any validation errors are encountered.</returns>
            <exception cref="T:System.ArgumentException">
            When the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/> of <paramref name="validationContext"/> is not a valid property
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult})">
            <summary>
            Tests whether the given object instance is valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object instance's type.  It also
            checks to ensure all properties marked with <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> are set.  It does not validate the
            property values of the object.
            <para>
            If <paramref name="validationResults"/> is null, then execution will abort upon the first validation
            failure.  If <paramref name="validationResults"/> is non-null, then all validation attributes will be
            evaluated.
            </para>
            </remarks>
            <param name="instance">The object instance to test.  It cannot be <c>null</c>.</param>
            <param name="validationContext">Describes the object to validate and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <returns><c>true</c> if the object is valid, <c>false</c> if any validation errors are encountered.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/>on <paramref name="validationContext"/></exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult},System.Boolean)">
            <summary>
            Tests whether the given object instance is valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object instance's type.  It also
            checks to ensure all properties marked with <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> are set.  If <paramref name="validateAllProperties"/>
            is <c>true</c>, this method will also evaluate the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s for all the immediate properties
            of this object.  This process is not recursive.
            <para>
            If <paramref name="validationResults"/> is null, then execution will abort upon the first validation
            failure.  If <paramref name="validationResults"/> is non-null, then all validation attributes will be
            evaluated.
            </para>
            <para>
            For any given property, if it has a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> that fails validation, no other validators
            will be evaluated for that property.
            </para>
            </remarks>
            <param name="instance">The object instance to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object to validate and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <param name="validateAllProperties">If <c>true</c>, also evaluates all properties of the object (this process is not
            recursive over properties of the properties).</param>
            <returns><c>true</c> if the object is valid, <c>false</c> if any validation errors are encountered.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/>on <paramref name="validationContext"/></exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateValue(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult},System.Collections.Generic.IEnumerable{System.ComponentModel.DataAnnotations.ValidationAttribute})">
            <summary>
            Tests whether the given value is valid against a specified list of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s.
            </summary>
            <remarks>
            This method will test each <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s specified .  If
            <paramref name="validationResults"/> is non-null, this method will add a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>
            to it for each validation failure.
            <para>
            If there is a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> within the <paramref name="validationAttributes"/>, it will
            be evaluated before all other validation attributes.  If the required validator fails then validation will
            abort, adding that single failure into the <paramref name="validationResults"/> when applicable, returning a
            value of <c>false</c>.
            </para>
            <para>
            If <paramref name="validationResults"/> is null and there isn't a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> failure,
            then all validators will be evaluated.
            </para>
            </remarks>
            <param name="value">The value to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <param name="validationAttributes">The list of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s to validate this <paramref name="value"/> against.</param>
            <returns><c>true</c> if the object is valid, <c>false</c> if any validation errors are encountered.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateProperty(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Throws a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given property <paramref name="value"/> is not valid.
            </summary>
            <param name="value">The value to test.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.  It cannot be <c>null</c>.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null</exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="value"/> is invalid for this property.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Throws a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given <paramref name="instance"/> is not valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object's type.
            </remarks>
            <param name="instance">The object instance to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.  It cannot be <c>null</c>.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> on <paramref name="validationContext"/></exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="instance"/> is found to be invalid</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Boolean)">
            <summary>
            Throws a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given object instance is not valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object's type.
            If <paramref name="validateAllProperties"/> is <c>true</c> it also validates all the object's properties.
            </remarks>
            <param name="instance">The object instance to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.  It cannot be <c>null</c>.</param>
            <param name="validateAllProperties">If <c>true</c>, also validates all the <paramref name="instance"/>'s properties.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> on <paramref name="validationContext"/></exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="instance"/> is found to be invalid</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateValue(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.IEnumerable{System.ComponentModel.DataAnnotations.ValidationAttribute})">
            <summary>
            Throw a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given value is not valid for the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s.
            </summary>
            <remarks>
            This method evaluates the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s supplied until a validation error occurs,
            at which time a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> is thrown.
            <para>
            A <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> within the <paramref name="validationAttributes"/> will always be evaluated first.
            </para>
            </remarks>
            <param name="value">The value to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being tested.</param>
            <param name="validationAttributes">The list of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s to validate against this instance.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="value"/> is found to be invalid</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.IsPropertyReadOnly(System.Object,System.String)">
            <summary>
            Returns <c>true</c> if the specified property is marked [ReadOnly(true)]
            </summary>
            <param name="instance">The object instance containing the property</param>
            <param name="propertyName">The name of the property</param>
            <returns><c>true</c> if the property is readonly</returns>
            <exception cref="T:System.ArgumentException">When the property does not exist</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.CreateValidationContext(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Creates a new <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> to use to validate the type or a member of
            the given object instance.
            </summary>
            <param name="instance">The object instance to use for the context.</param>
            <param name="validationContext">An parent validation context that supplies an <see cref="T:System.IServiceProvider"/>
            and <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/>.</param>
            <returns>A new <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> for the <paramref name="instance"/> provided.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.CanBeAssigned(System.Type,System.Object)">
            <summary>
            Determine whether the given value can legally be assigned into the specified type
            </summary>
            <param name="destinationType"></param>
            <param name="value"></param>
            <returns><c>true</c> if the assignment is legal</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="destinationType"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.EnsureValidPropertyType(System.String,System.Type,System.Object)">
            <summary>
            Determines whether the given value can legally be assigned to the given property
            </summary>
            <param name="propertyName">The name of the property</param>
            <param name="propertyType">The type of the property</param>
            <param name="value">The value.  Null is permitted only if the property will accept it</param>
            <exception cref="T:System.ArgumentException"> is thrown if <paramref name="value"/> is the wrong type for this property.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetObjectValidationErrors(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Boolean,System.Boolean)">
            <summary>
            Internal iterator to enumerate all validation errors for the given object instance
            </summary>
            <param name="instance">Object instance to test</param>
            <param name="validationContext">Describes the object type.</param>
            <param name="validateAllProperties">if <c>true</c> also validates all properties</param>
            <param name="breakOnFirstError">Whether to break on the first error or validate everything</param>
            <returns>A collection of validation errors that result from validating the <paramref name="instance"/> with
            the given <paramref name="validationContext"/></returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> on <paramref name="validationContext"/></exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetObjectPropertyValidationErrors(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Boolean,System.Boolean)">
            <summary>
            Internal iterator to enumerate all the validation errors for all properties of the given object instance
            </summary>
            <param name="instance">Object instance to test</param>
            <param name="validationContext">Describes the object type</param>
            <param name="validateAllProperties">If <c>true</c>, evaluates all the properties, otherwise just checks that
            <param name="breakOnFirstError">Whether to break on the first error or validate everything</param>
            ones marked with <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> are not null.</param>
            <returns></returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetPropertyValues(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the property values for the given instance
            </summary>
            <param name="instance">Instance from which to fetch the properties</param>
            <param name="validationContext">Describes the entity being validated.</param>
            <returns>A set of key value pairs, where the key is a validation context for the property and the value is its current
            value</returns>
            <remarks>Ignores indexed properties</remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetValidationErrors(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.IEnumerable{System.ComponentModel.DataAnnotations.ValidationAttribute},System.Boolean)">
            <summary>
            Internal iterator to enumerate all validation errors for an value.
            </summary>
            <remarks>
            If a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> is found, it will be evaluated first, and if that fails,
            validation will abort, regardless of the <paramref name="breakOnFirstError"/> parameter value.
            </remarks>
            <param name="value">The value to pass to the validation attributes</param>
            <param name="validationContext">Describes the type/member being evaluated.</param>
            <param name="attributes">The validation attributes to evaluate.</param>
            <param name="breakOnFirstError">Whether or not to break on the first validation failure.  A
            <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> failure will always abort with that sole failure.</param>
            <returns>The collection of validation errors.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationAttribute,System.ComponentModel.DataAnnotations.Validator.ValidationError@)">
            <summary>
            Tests whether a value is valid against a single <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/> using the <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>.
            </summary>
            <param name="value">The value to be tested for validity.</param>
            <param name="validationContext">Describes the property member to validate.</param>
            <param name="attribute">The validation attribute to test</param>
            <param name="validationError">The validation error that occurs during validation.  Will be <c>null</c> when the return value is <c>true</c>.</param>
            <returns><c>true</c> if the value is valid.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.Validator.ValidationError">
            <summary>
            Private helper class to encapsulate a ValidationAttribute with the failed value and the user-visible
            target name against which it was validated.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore">
            <summary>
            Cache of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s
            </summary>
            <remarks>
            This internal class serves as a cache of validation attributes and [Display] attributes.
            It exists both to help performance as well as to abstract away the differences between
            Reflection and TypeDescriptor.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetTypeValidationAttributes(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the type level validation attributes for the given type.
            </summary>
            <param name="validationContext">The context that describes the type.  It cannot be null.</param>
            <returns>The collection of validation attributes.  It could be empty.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetTypeDisplayAttribute(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/> associated with the given type.  It may be null.
            </summary>
            <param name="validationContext">The context that describes the type.  It cannot be null.</param>
            <returns>The display attribute instance, if present.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetPropertyValidationAttributes(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the set of validation attributes for the property
            </summary>
            <param name="validationContext">The context that describes the property.  It cannot be null.</param>
            <returns>The collection of validation attributes.  It could be empty.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetPropertyDisplayAttribute(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/> associated with the given property
            </summary>
            <param name="validationContext">The context that describes the property.  It cannot be null.</param>
            <returns>The display attribute instance, if present.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.IsPropertyReadOnly(System.Type,System.String)">
            <summary>
            Gets a value indicating whether the given property of the given instance is marked [ReadOnly(true)]
            </summary>
            <param name="type">The type of the object containing the property.  It cannot be null.</param>
            <param name="propertyName">The name of the property.  It cannot be null and must exist on this type.</param>
            <returns>A bool indicating whether it is readonly.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetPropertyType(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the Type of the given property.
            </summary>
            <param name="validationContext">The context that describes the property.  It cannot be null.</param>
            <returns>The type of the specified property</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.IsPropertyContext(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Determines whether or not a given <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>'s
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/> references a property on
            the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectType"/>.
            </summary>
            <param name="validationContext"></param>
            <returns></returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetTypeStoreItem(System.Type)">
            <summary>
            Retrieves or creates the store item for the given type
            </summary>
            <param name="type">The type whose store item is needed.  It cannot be null</param>
            <returns>The type store item.  It will not be null.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.EnsureValidationContext(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Throws an ArgumentException of the validation context is null
            </summary>
            <param name="validationContext">The context to check</param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttributeStore.Instance">
            <summary>
            Gets the singleton <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore"/>
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore.StoreItem">
            <summary>
            Private abstract class for all store items
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore.TypeStoreItem">
            <summary>
            Private class to store data associated with a type
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore.PropertyStoreItem">
            <summary>
            Private class to store data associated with a property
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationException">
            <summary>
            Exception used for validation using <see cref="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationAttribute"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object)">
            <summary>
            Constructor that accepts a structured <see cref="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationResult"/> describing the problem.
            </summary>
            <param name="validationResult">The value describing the validation error</param>
            <param name="validatingAttribute">The attribute that triggered this exception</param>
            <param name="value">The value that caused the validating attribute to trigger the exception</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.String,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object)">
            <summary>
            Constructor that accepts an error message, the failing attribute, and the invalid value.
            </summary>
            <param name="errorMessage">The localized error message</param>
            <param name="validatingAttribute">The attribute that triggered this exception</param>
            <param name="value">The value that caused the validating attribute to trigger the exception</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor">
            <summary>
            Default constructor.
            </summary>
            <remarks>The long form of this constructor is preferred because it gives better error reporting.</remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.String)">
            <summary>
            Constructor that accepts only a localized message
            </summary>
            <remarks>The long form of this constructor is preferred because it gives better error reporting.</remarks>
            <param name="message">The localized message</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor that accepts a localized message and an inner exception
            </summary>
            <remarks>The long form of this constructor is preferred because it gives better error reporting</remarks>
            <param name="message">The localized error message</param>
            <param name="innerException">inner exception</param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationAttribute">
            <summary>
            Gets the <see>ValidationAttribute</see> instance that triggered this exception.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationResult">
            <summary>
            Gets the <see cref="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationResult"/> instance that describes the validation error.
            </summary>
            <value>
            This property will never be null.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationException.Value">
            <summary>
            Gets the value that caused the validating attribute to trigger the exception
            </summary>
        </member>
    </members>
</doc>
