1

このコードは機能しますが、その理由がわかりません。DeferredLoadingEnabld = false を使用すると、主キーが返されないと予想されます。誰かが私が欠けているものを説明できますか?

public void SaveOrder (Order order)
{
        using (DataContext dc= new DataContext)
        {
           dc.DeferredLoadingEnabled = false;
           ...
           order.Total= total;
           dc.order.InsertOnSubmit(order);
           dc.SubmitChanges();
         }
}

オーダーサービス:

public void ServiceSaveOrder(Order order)
{     
    Order order= new Order();
    SaveOrder(order);
    Print(order.ID);  //ID= unique primary key
 } 
4

1 に答える 1

2

DeferredLoadingEnabled プロパティは、挿入後に ID を返すためではなく、外部キー間で他の関係を設定するためにのみ使用されます。キーは常に入力されます。DeferredLoadingEnabled を true に設定すると、親子関係は自動的に設定されません。

詳細については、MSDNの記事を参照してください。

于 2009-01-18T23:13:12.817 に答える