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 コードを内部化する方法がわからなかったため、ソリューションを実装できませんでした。誰か助けてくれませんか?