1

サーバーに次のクラスがあります

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' に存在しません」というエラーが表示されます。クライアントの型で定義されているプロパティ名のみを使用してください。フィドラーでサーバーへのリクエストを確認できませんでした。

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

動的プロパティを持つオブジェクトのプロパティを更新するにはどうすればよいですか?. どんな助けでも大歓迎です。

4

1 に答える 1

0

同様の質問に対する私の回答を見てください。開いているプロパティを処理するサンプル コードへのリンクがあります。

Simple.OData.Client はオープン プロパティをサポートしていますか?

于 2015-08-10T18:57:05.920 に答える