EF

EF 贪婪加载 , 延迟加载,显式加载

霄
2022-10-28 / 0 评论 / 70 阅读 / 正在检测是否收录...

**延迟加载 ** 在遍历时才会执行查询

**贪婪加载 ** 一次性加载所有数据 Include()方法,访问一次数据库 所有数据都有,数据过多

**显式加载** 与延迟加载类似,但不会主动去加载导航属性的数据 而需要手动去加载

关闭延迟加载 :

1.特定的导航属性去掉visual

2.配置db.Configuration.LazyLoadingEnabled =false (关闭延迟加载)

//显示加载

//手动加载
var  resultOrder =    db.Orders.Find(3);
// Reference 对应单个对象
db.Entry(order).Reference("user").Load();
//Collection 对应多个对象(集合)
db.Entry(user).Collection("Order").Load();

如果你要访问所有数据,可以使用贪婪加载。如果你不经常访问导航属性,或只访问部分,可以使用延迟加载

扫描二维码,在手机上阅读!
23

评论

博主关闭了当前页面的评论