2013-01-24 49 views
0

我試圖使用System.Web.Http.OData.Delta來實現ASP.NET Web API服務中的PATCH方法,但似乎無法將更改應用到屬性IEnumerable類型。我如何使用Odata.Delta修補Webapi

這是我的代碼:

public class Person 
{ 
     [Required] 
     public string Name { get; set; } 

     public IList<Document> AdditionalDocuments { get; set; } 

     public HomeAddress HomeAddress { get; set; } 
} 


public class HomeAddress 
{ 
    public string StreetName { get; set; } 
} 

public class Document 
{ 
    public string Value { get; set; } 
} 

補丁是這樣實現的:

[AcceptVerbs("PATCH")] 
public void Patch(string id, Delta<Person> delta) 
{ 
    var person = personRepository.GetById(id) 
    delta.Patch(person); 
} 

我的問題是,當我在打補丁的信息,將是homeAddress和AdditionalDocuments被忽略。我在這裏找到了另一篇文章(How do I patch enumerables with System.Web.Http.OData.Delta?),但是我不能實現這個解決方案,因爲我不知道如何內部化Delta代碼。有人可以幫我嗎?

回答

0

Delta設計用於僅與OData格式化工作。有一個bug開放使它與json.net格式化程序一起工作。