使用Lazy<T>实现对客户订单的延迟加载

王朝学院·作者佚名  2016-05-17
窄屏简体版  字體: 小  |  中  |  大  |  超大  

使用Lazy<T>实现对客户订单的延迟加载"延迟加载"是指在需要的时候再加载数据。比如获得一个Customer信息,并不会把该Customer的Orders信息一下加载出来,当需要显示Orders的时候再加载。简单来说,就是按需加载。使用"延迟加载"的好处是减少应用程序响应时间,降低内存消耗,避免不必要的数据库交互。

□ 即时加载

创建Order类和Customer类,Customer中维护着Order的一个集合,在Customer的构造函数中给Order集合赋值。即,只要创建Customer实例,就会加载该Customer的所有Order。

关于Customer和Order类。

public class Customer

{

PRivate List<Order> _orders = null;

public List<Order> Orders

{

get { return _orders; }

}

private string _customerName;

public string CustomerName

{

get { return _customerName; }

set { CustomerName = value; }

}

public Customer()

{

_customerName = "darren";

_orders = LoadOrders();

}

private List<Order> LoadOrders()

{

List<Order> result = new List<Order>();

Order o = new Order();

o.OrderNumber = "001";

result.Add(o);

o = new Order();

o.OrderNumber = "002";

result.Add(o);

return result;

}

}

public class Order

{

private string _orderNumber;

public string OrderNumber

{

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航