LINQ : 在LINQ TO SQL中关闭ObjectTrackingEnabled提高性能
LINQ TO SQL的默认加载模式中还有一个选项:ObjectTrackingEnabled,该选项默认是true,表示要为所有对象提供跟踪。其实通俗地说就是,所有对象都要可读,可写。既然要可写(或者可更新),那么就需要一个额外的工作量记录对象的一些属性变化的情况。
假设,在当前使用中,我们并不需要进行更新,而仅仅是查询,那么就可以把ObjectTrackingEnabled关闭掉。
db.ObjectTrackingEnabled = false;
需要注意的是,以上设置将自动关闭DeferredLoadingEnabled属性