延迟加载:又称作懒加载。也就是LinqTo EF并不是直接将数据查询出来,而是要用到具体数据的时候才会加载到内存
lnclude是将关联实体一块加载
ToList等可以直接将数据加载到内存
#region 第一种延迟加载 用到的时候就会去查询数据,所以不适合存到缓存中
用到的时候就会去查询数据。
foreach (var userInfo in temp)
{
Console.WriteLine(userInfo.ID + " " +userInfo.UName);
}
foreach (var userInfo in temp)
{
Console.WriteLine(userInfo.ID + " " + userInfo.UName);
}
var temp2 = from u in temp
where u.ID > 0
select u;
foreach (var userInfo in temp2)
{
Console.WriteLine(userInfo.ID + " " + userInfo.UName);
}
#endregion
#region 第二种延迟加载 适合两张表数据量非常大的情况
//foreach (var userInfo in temp)
//{
// foreach (var orderInfo in userInfo.OrderInfo)//读一个用户的同时,将该用户下所有的订单表查询出来
// {
// Console.WriteLine(userInfo.UName+ " " +orderInfo.ID + " " + orderInfo.Content);
// }
//}
#endregion
本文详细介绍了LinqToEF中的延迟加载与Include的区别及应用场景,通过实例展示了如何在不同场景下灵活运用这些特性,以减少不必要的内存消耗,提升应用程序性能。
1495

被折叠的 条评论
为什么被折叠?



