Linq和检索主键

时间:2009-01-18 23:10:15

标签: linq primary-key

此代码有效,但我不明白为什么。使用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 个答案:

答案 0 :(得分:2)

DeferredLoadingEnabled属性仅用于填充外键之间的其他关系,而不是用于在插入后返回ID。您的密钥将始终填充。将DeferredLoadingEnabled设置为true时,不会自动填充任何父或子关系。

有关详细信息,请参阅MSDN文章。