相关疑难解决方法(0)

为延迟加载注入数据访问依赖项的正确方法是什么?

在进行延迟加载时,注入数据访问依赖项的正确方法是什么?

例如,我有以下类结构

class CustomerDao : ICustomerDao
  public Customer GetById(int id) {...}

class Transaction {
  int customer_id; //Transaction always knows this value
  Customer _customer = null;
  ICustomerDao _customer_dao;
  Customer GetCustomer() {
    if(_customer == null)
      _customer = _customer_dao.GetById(_customer_id);
    return _customer
  }
Run Code Online (Sandbox Code Playgroud)

如何将_customer_dao引用到事务对象中?如果我希望事务至少看起来像POCO,那么对构造函数的要求似乎就没有意义.是否可以让Transaction对象直接引用Inversion of Control Container?这也似乎很尴尬.

像NHibernate这样的框架如何处理这个?

lazy-loading inversion-of-control

11
推荐指数
2
解决办法
2955
查看次数

标签 统计

inversion-of-control ×1

lazy-loading ×1