你如何知道 new SqlWarehouseDataContext() 的时候,它就获得所有表的数据了呢?
创建的时候不会读取数据的,在你SqlData.AddUsers.ToList() 这句后,才会加载数据。断点的位置用“快速监视”看到的SqlData 上下文中对象的数据实际上是临时从数据库取的。
你去看下LINQ TO SQL 里面的函数,你就明白。
假如我们查询一张用户表:
上下文是:DataContext context=new DataContext();
var query = context.GetTable<User>().Select(e=>e); //这里还没有做查询数据的
return query.ToList();这里才真正的做了数据库查询操作。