使用simple.odata.client更新动态属性

时间:2015-08-10 12:29:19

标签: c# odata simple.odata

我在服务器

中有以下类
namespace ServerNameSpace.Models
{
    public class Product
    {
      [Key]
      public int Id { get; set; }
      [Key]
      public string Name { get; set; }
      public IDictionary<string, object> DynamicProperties {get; set;} 
   }
}

我正在尝试从客户端更新上述类的动态属性。在下面的示例中,“Manufacturer”是驻留在服务器中的动态属性。什么时候 我尝试使用以下代码更新它我收到错误属性'Manufacturer'在类型'ServerNameSpace.Models.Product'上不存在。确保仅使用客户端中类型定义的属性名称。我在fiddler中看不到任何对服务器的请求。

static async void test()
{
    ODataClient client = new ODataClient("http://localhost.fiddler:58460/");
    Dictionary<string, object> keys = new Dictionary<string, object>()
    {
            {"Id", 123},
            {"Name", "ABC"}
    };
    await client.For("Products").Key(keys).Set(new Dictionary<string,object>()
            {
                {"Manufacturer","Me"}
            }).UpdateEntryAsync();
}

如何更新具有动态属性的对象的属性?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

看看我对类似问题的回答,有一个链接到处理开放属性的示例代码。

Does Simple.OData.Client support open properties?