0

System.Web.Http.OData.Delta を使用して ASP.NET Web API サービスに PATCH メソッドを実装しようとしていますが、IEnumerable 型のプロパティに変更を適用できないようです。

これは私のコードです:

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 が無視されることです。別の記事 ( System.Web.Http.OData.Delta で列挙型にパッチを適用するにはどうすればよいですか? ) を見つけましたが、Delta コードを内部化する方法がわからなかったため、ソリューションを実装できませんでした。誰か助けてくれませんか?

4

1 に答える 1

0

Delta は、OData フォーマッタのみで動作するように設計されています。json.net フォーマッタで動作させるために未解決のバグがあります。

于 2013-01-24T19:19:55.577 に答える