Asp.net mvc 数据协定强制从Web API post设置日期值

Asp.net mvc 数据协定强制从Web API post设置日期值,asp.net-mvc,json,entity-framework,angularjs,Asp.net Mvc,Json,Entity Framework,Angularjs,我有一个WepApi,它是Angular/Json客户机的调用,该客户机首先序列化到EF代码中创建的模型。我想发布产品模型,并在post/save函数中设置changedate属性。我得到ModelState.IsValid=false,我想保留我的ef model属性,有什么解决方法吗 [Required] public DateTime ChangeDate { get; set; } 获取此错误信息 {$ID:1,消息:发生了错误。ExabyMeult:Type 'Trime.Of

我有一个WepApi,它是Angular/Json客户机的调用,该客户机首先序列化到EF代码中创建的模型。我想发布产品模型,并在post/save函数中设置changedate属性。我得到ModelState.IsValid=false,我想保留我的ef model属性,有什么解决方法吗

[Required]  
public DateTime ChangeDate { get; set; }
获取此错误信息

{$ID:1,消息:发生了错误。ExabyMeult:Type 'Trime.Office '上的“属性更改”无效。标记为[AdvID]的值类型属性也必须标记为[DATAMEMBISIDEQUEST=TrU]以被视为需要。考虑将声明类型归因于[DATACONTROS]

代码 模型

可能重复的
[DataContract]
public class Product
{
    public Product()
    {
        ChangeDate = DateTime.Now;
    }

    //Serialization
    [DataMember]
    //DataAnnotations
    [DisplayName("ProductId")]
    [Description("ProductId")]
    public int ProductId { get; set; }

    //Serialization
    [DataMember(IsRequired = true)]
    //DataAnnotations
    [DisplayName("ChangeDate")]
    [Description("Date when product last was changed")]
    [Required]
    [DisplayFormat(DataFormatString = "{0:d}")]
    public DateTime ChangeDate { get; set; }

    //Serialization
    [DataMember]
    //DataAnnotations
    [DisplayName("Name")]
    [Description("Name")]
    [Required(ErrorMessage = " ")]
    [StringLength(100)]
    public String Name { get; set; } 


    public HttpResponseMessage Post(Entity.Product product,Boolean directSave = true)
    {
        if (ModelState.IsValid)
        {
            product.ChangeDate = DateTime.Now;
            _productRepository.Add(product);
            if (directSave)
                _context.Save();

            var response = Request.CreateResponse(HttpStatusCode.Created, product);
            response.Headers.Location = GetLocation(product.ProductId);
            return response;
        }

        return Request.CreateResponse(HttpStatusCode.BadRequest);
    }