【问题标题】:How do i patch enumerables with Odata.Delta with Webapi如何使用 Webapi 使用 Odata.Delta 修补可枚举
【发布时间】:2013-01-24 16:41:28
【问题描述】:

我正在尝试使用 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 被忽略了。我在这里找到了另一篇文章(How do I patch enumerables with System.Web.Http.OData.Delta?),但我无法实现该解决方案,因为我不知道如何内化 Delta 代码。有人可以帮我吗?

【问题讨论】:

    标签: c# asp.net-web-api odata


    【解决方案1】:

    Delta 旨在仅与 OData 格式化程序一起使用。有一个bug 可以使用 json.net 格式化程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-18
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      相关资源
      最近更新 更多