Linq и получение первичного ключа - PullRequest
1 голос
/ 19 января 2009

Этот код работает, но я не понимаю, почему. С 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
 } 

1 Ответ

2 голосов
/ 19 января 2009

Свойство DeferredLoadingEnabled просто используется для заполнения других отношений между внешними ключами, а не для возврата идентификаторов обратно после вставок. Ваши ключи всегда будут заполнены. Если для DeferredLoadingEnabled установлено значение true, любые родительские или дочерние отношения не будут заполняться автоматически.

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

...