0

次のコードブロックを使用しようとしている場合:

    private MarketingDBDataContext DB_Marketing;

    public DBFacade()
    {
        DB_Marketing = new MarketingDBDataContext();
    }        
    public void updateSingleObj(object obj)
    {
        if (obj is Marketing.Cust)
        {
            try
            {                     
                DB_Marketing.Refresh(RefreshMode.OverwriteCurrentValues, obj);
            }
            catch (Exception ex)
            {
            }
        }
    }

この例外が発生します:

An object specified for refresh is not recognized

別のデータコンテキストと別のエンティティオブジェクト参照を使用した同様のメソッドがありますが、これは正常に機能します。

Webサイトのリンクを入力するための新しいダイアログウィンドウを開くMarketingCustGUIがあります。新しいDialogWindowが表示される前に、現在のMarketingCustオブジェクトでこのWeblink値の変更を確認したいと思います。

4

1 に答える 1

0

問題が見つかりました。それぞれがデータベースファサードのインスタンスを持つ2つのコントローラーを持つ。間違ったコントローラーでメソッドを再利用しようとしましたが、コントローラーが対応するデータベースのデータベースファサードインスタンスを作成し、オブジェクトが存在しないDataContextにつながったことを忘れました。

他の人へのヒントです。DataContextをインスタンス化する場所を確認し、オブジェクトがその中に含まれていることを確認してください。

于 2012-09-27T09:48:23.487 に答える