2009-01-18 111 views
1

此代碼的工作原理,但我不明白爲什麼。 DeferredLoadingEnabld = false,我希望它不返回主鍵。有人可以解釋我缺少的東西嗎?Linq和檢索主鍵

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 
} 

回答

2

DeferredLoadingEnabled屬性只是用於填充整個外鍵的其他關係而不是插入回來後返回的ID。您的密鑰將始終填充。當DeferredLoadingEnabled設置爲true時,任何父或子關係都不會自動填充。

更多信息,請在MSDN文章。