0

2つの別々のオブジェクトを作成しました。1つはクラスOrderで、もう1つはクラスTempOrderです。db.TempOrders.InsertOnSubmit(obj)を使用してTempOrderオブジェクトをdbに挿入しようとした後、db.SubmitChangesを呼び出すと、Orderオブジェクトも(データコンテキストなどにアタッチされずに)送信されます。データベース内の2つのオブジェクト間には関係はありませんが、TempOrderがある場合(toNewOrder-toNewTempOrder)にOrderオブジェクトを作成するために、クラスに単純なメンバー関数を作成しました。私が使用しているコードは以下のとおりです。

if(order.PaymentType == "Paypal")
{
    TempOrder temp = new TempOrder();
    temp = order.ToNewTempOrder();
    db.Add(temp);//Add is calling datacontext.TempOrders.InsertOnSubmit and datacontext.SubmitChanges
}

db.Add(temp)が呼び出されると、チェンジセットには一時オブジェクトと注文オブジェクトも含まれます。どうすればこれを回避できますか?私は何か間違ったことをしていますか?これは関数.toNewTempOrder()が原因ですか?私はこれで立ち往生しています。

4

1 に答える 1

0

コードは、スニペットに表示されている注文オブジェクトをどのように取得しましたか?

C#コードで一方が他方から派生していないことを確認しますか?C#クラスが手作りされている場合、それらが表すSQLテーブルはまだ完全に接続されていない可能性があります。

そのdb.Add(...)はオーバーロードされていますか、それともいくつかの基本型を取り、引数の実際の型に基づいて決定を下しますか?

于 2010-07-14T09:19:28.050 に答える