locked
DBにデータ挿入時のSubmitChanges()のエラーについて RRS feed

  • 質問

  • WCF RIA Service でDBに新規にデータを挿入しようとするとエラーが発生します。

     

    RecordContext _context = new RecordContext();

    Record _record = new Record();

    /*

    ここでRecordのプロパティに値を設定

    */

    _context.Records.Add(_record);               

    _context.SubmitChanges();

     

    といった記述でデバッグした結果

    _context.SubmitChanges();に到達した段階でVisualStudio Just-In-Timeデバッガーのポップアップウィンドウが表示され、

    ハンドルされていない例外('Silverlightアプリケーションでハンドルされていない例外が発生しました)

    コード:4004

    カテゴリ:ManagedRuntimeError

    メッセージ:System.ServiceModel.Domainservice.Client.DomainOperationException

    と表示されます.

    挿入したいデータのプロパティにはID、null非許容の属性にのみ値を設定しています。

    挿入しようとしている値が誤っているのか、SubmitChanges()の設定がおかしいのか判断がつきません。

    ちなみに、DBの取得した項目を編集、Updateは問題なく行えています。

     

    ご教授よろしくおねがいします。

    2010年11月6日 12:49

回答

  • 発生した DomainOperationException には、どんな情報が格納されていますか?Message プロパティや Status プロパティを確認してみてください。

     


    なかむら(http://d.hatena.ne.jp/griefworker)
    • 回答としてマーク kt2006 2010年11月12日 9:58
    2010年11月6日 21:12

すべての返信

  • 発生した DomainOperationException には、どんな情報が格納されていますか?Message プロパティや Status プロパティを確認してみてください。

     


    なかむら(http://d.hatena.ne.jp/griefworker)
    • 回答としてマーク kt2006 2010年11月12日 9:58
    2010年11月6日 21:12
  • 問題が解決しました。

    _context.SubmitChanges();

     

    を以下のwebを元に修正した結果Insertが成功しました。

    コールバックの処理を記述することで解決しました。有難うございました。

    http://forums.silverlight.net/forums/p/190747/440086.aspx

    private
     
    void
     
    SubmitOperation_Callback
    (
    SubmitOperation
     operation
    )
    
    {
           
    if ( operation . HasError )
           
    {
                   
    string errorMessage = "Something went wrong..." ;

                   
    ErrorWindow . CreateNew ( errorMessage , ErrorWindowClosed_Callback , null );
                    operation
    . MarkErrorAsHandled ();
                   
    return ;
           
    }
    }
    2010年11月12日 10:00