Validación de Mvc4 RTM lanzando un error

Ha cambiado algo con los bits rtm con respecto a la validación de modelos.

Tengo un modelo de vista simple que parece

    public class ProductViewModel
    { 
    [Required]
    [DataMember(IsRequired = true)]
    public int ProductTypeId { get; set; }
    public string Product { get; set; }
    }

(Acabo de agregar el DataMember (IsRequired = true), ya que el mensaje de error que recibo dice que lo uso para solucionar el problema. Sin embargo, no es un placer)

Dentro de mi controlador, el estado del modelo me dice que el modelo es válido; sin embargo, cuando intento pasar el modelo a mi api utilizando RestSharp, aparece el siguiente error.

{"Mensaje": "Ha ocurrido un error.", "Mensaje de excepción": "La propiedad 'ProductTypeId' en el tipo 'Mine.Model.Model' no es válida. Las propiedades de tipo de valor marcadas como [Requeridas] también deben marcarse con [DataMember (IsRequired = true)] para que se reconozca según sea necesario. Considere atribuir el tipo de declaración con [DataContract] y la propiedad con [DataMember (IsRequired = true)]. "," ExceptionType ":" System.InvalidOperationException "," StackTrace ": "en System.Web.Http.Validation.Validators.ErrorModelValidator.Validate (Metadatos de ModelMetadata, Contenedor de objetos) \ r \ n en System.Web. \ n en System.Web.Http.Validation.DefaultBodyPersonalización del vallidatelValidator.ValidateNodeAndChildren (Metadatos de ModelMetadata, ValidationContext validationCationxt, Objeto de depósito de objetos) \ r \ n en System.Web.Http.Validation.Delecto de objetos, contenedor de objetos, objetos de juego, objetos y objetos. \ n en System.Web.Http.Validation.DefaultBodyPersonationPersonalValidateNodeAndChildren (Metadatos de ModelMetadata, ValidationContext validationCationxt, Objeto de depósito de objetos) \ r \ n en System.Web.Http.Validation.Dalternation.Devalidation. HttpActionContext actionContext, String keyPrefix) \ r \ n en System.Web.Http.ModelBinding.FormatterParameterBinding. <> C_DisplayClass1.b_0 (Modelo de objeto) \ r \ n en System.Threading.Tasks.TaskHelpersExtensions. <> C__DisplayClass361.<>c__DisplayClass38.<Then>b__35()\r\n at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass49.<ToAsyncVoidTask>b__48()\r\n at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func1 func, Cancelación CancelaciónTenizadaToken) "}

No estaba teniendo este problema con los bits rc, pero luego solo comencé a usar la biblioteca restsharp con los bits rtm.

Cualquier ayuda sería genial.

Respuestas a la pregunta(2)

Su respuesta a la pregunta