locked
WCF 経由で得た Entity が編集不可とは? RRS feed

  • 質問

  • SQL Server の Database の Table から1個1個の record を取得できるようになったのですが、その record の Column の値を編集する方法がわかりません。http://msdn.microsoft.com/ja-jp/library/ff713719(v=vs.91).aspx に示されている Sample に沿って下記のように記述してみました。

    実行すると emp.Title += " 更新OK"; の部分でエラーとなります。エラーメッセージは

    This EntitySet of type 'HRApp.Web.Employee' does not support the 'Edit' operation.

    です。Title は property なので get も set も直にできるということではないようです。下記のようにして得た Entity が編集不可ということなのでしょうか。

                OrganizationContext _OrganizationContext = new OrganizationContext();
                LoadOperation<Employee> operation = _OrganizationContext.Load(_OrganizationContext.GetEmployeeQuery());
                operation.Completed += (s, ea) => {
                    LoadOperation<Employee> op = (LoadOperation<Employee>)s;
                    foreach (Employee emp in op.Entities) {
                        emp.Title += " 更新OK";
                        _OrganizationContext.UpdateEmployee(emp);
                    }
                };

    Employee emp=new Employee(); に引き続いて emp.Titile="新規"; というようにすれば、直接 value をセットしてもエラーになることはないようですが、それでは編集になりません。異なった値をセットするにはどのような方法があるのでしょうか。

    2010年8月15日 2:01

回答

すべての返信

  • 下記の URL が参考になるかもしれません。

    http://stackoverflow.com/questions/2445634/ria-services-entityset-does-not-support-edit-operation

     


    なかむら(http://d.hatena.ne.jp/griefworker)
    2010年8月15日 7:32
  • こんにちは、bs6 さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    その後いかがでしょうか。なかむら さんからの情報は確認いただけましたか?
    なかむら さん、情報ありがとうございます。

    なかむら さんからの情報は参考になる情報と思われますので、勝手ながら私のほうで一旦回答としてマークさせていただきました。
    よろしければ、お時間のある時にでも、その後の状況をお知らせくださいね。
    一旦回答としてマークさせていただきましたが、ご不明な点などあればご質問を続けてくださいね。

    いただいた回答の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
    今後、同じ問題でこのスレッドを参照される方にも、有効な情報がわかりやすくなるかと思いますので、ご協力よろしくお願いいたします。

    今後とも、MSDN フォーラムをよろしくお願いいたします。それでは。
                                                             
    マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2010年9月7日 2:45