2009-01-18 50 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文章。