懒加载:
在EF6开始默认框架开启懒加载,机制为访问导航属性的时候具体加载导航属性关联的数据,不访问则不加载,
有一个问题,就是在遍历等操作循环访问一个表(DBSet)的时候,会多次访问数据库来读取数据,所以一般来讲
这个功能都是关闭,关闭的时候访问导航属性就是NULL。
懒加载关闭方式:
DBContext类的构造方法中,
public DBEntities()
: base("name=DBEntities")
{
this.Configuration.LazyLoadingEnabled = false;//关闭懒加载
}
贪婪加载:
DBSet.Include的方式一次性加载所有关联数据,这样避免了因为懒加载多次访问数据库。需要关闭懒加载才可以使用