Обновление динамических свойств с использованием simple.odata.client

У меня есть следующий класс на сервере

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;} 
   }
}

Я пытаюсь обновить динамические свойства вышеупомянутого класса от клиента. В приведенном ниже примере "Производитель" - это динамическое свойство, которое находится на сервере. Когда я пытаюсь обновить его, используя следующий код, я получаю сообщение об ошибке . Свойство "Производитель" не существует по типу "ServerNameSpace.Models.Product". Убедитесь, что вы используете только те свойства, которые определены типом в клиенте. Я не видел ни одного запроса к серверу в фиддлере.

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 ответ

Посмотрите на мой ответ на похожий вопрос, там есть ссылка на пример кода, который обрабатывает открытые свойства.

Поддерживает ли Simple.OData.Client открытые свойства?

Другие вопросы по тегам