Обновление динамических свойств с использованием 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 ответ
Посмотрите на мой ответ на похожий вопрос, там есть ссылка на пример кода, который обрабатывает открытые свойства.