1 votes

Linq et récupération de la clé primaire

Ce code fonctionne, mais je ne comprends pas pourquoi. Avec DeferredLoadingEnabld = false, je m'attendrais à ce qu'il ne renvoie pas la clé primaire. Quelqu'un peut-il m'expliquer ce qui m'échappe ?

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

DANS LE CADRE DU SERVICE D'ORDRE :

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

2voto

Ray Booysen Points 10606

La propriété DeferredLoadingEnabled est simplement utilisée pour alimenter d'autres relations par l'intermédiaire de clés étrangères et non pour renvoyer des identifiants après des insertions. Vos clés seront toujours renseignées. Si la propriété DeferredLoadingEnabled est définie sur true, les relations parentales ou enfantines ne seront pas automatiquement renseignées.

De plus amples informations sont disponibles à l'adresse suivante MSDN article.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X