在API控制器初始化之前设置参数



我正在尝试将参数传递给我的apicontroller构造器中的数据库连接。例如,默认情况下,在我的baseapicontroller中,我将代码为" 1"。但是在这个特定的控制器中,我需要将该参数更改为" 7"。问题在于我的baseapicontroller用'1'实例化,即使我在属性中发送了" 7"后,它也不会更改。在初始化BASEAPI之前,如何在此特定控制器中设置" 7"?

public class ListagemProjetoEletricoWebController :BaseAPIController<ListagemProjetoEletricoBusiness>
{       
    public List<ListagemProjeto> Get(String cpf)
    {
        business.idEmpresa = 7;
        List<ListagemProjeto> listProjetoEletricoWeb = business.GetProjetoEletricoLista(cpf);
        return listProjetoEletricoWeb;
    }
}

,在我的baseapicontroller中。

protected override void Initialize(HttpControllerContext controllerContext)
{
    this.business = new TBusiness();
    this.business.idEmpresa = 1;
    this.business.db = new BaseBusiness(this.business.idEmpresa).db; 
    base.Initialize(controllerContext);
}

在基类中创建虚拟属性以表示idEmpresa

public class BaseAPIController
{
     //Set the default to whatever it is used normally
     public virtual int idEmpresa { get {return 1;} }
}

然后在您的班级中,您覆盖该属性

public class ListagemProjetoEletricoWebController :BaseAPIController<ListagemProjetoEletricoBusiness>
{
    public override int idEmpresa { get { return 7;} } 
}

然后,当您设置业务IDEMPRESA时,请使用该属性

this.business.idEmpresa = this.idEmpresa;

最新更新