2009-01-18 7 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 свойство просто используется для заполнения других отношений через внешние ключи, а не для возвращения идентификаторов обратно после вставки. Ваши ключи всегда будут заполнены. Если значение параметра DeferredLoadingEnabled установлено равным true, никакие родительские или дочерние отношения не будут автоматически заполнены.

Дополнительная информация доступна на странице MSDN.

 Смежные вопросы

  • Нет связанных вопросов^_^