MVC: Invoking overloaded constructors conditionally
===

I have an MVC application where I am implementing CQRS where I have seperated saving data from reading data into seperate interfaces. I am using constructor injection for injecting the concrete instances of these interfaces into the Controller. For constructor injection I am using Unity container. See below example

<!-- language: c# -->

    //The Employee controller 
    public class EmployeeController : Controller
    {
        IEmployeeRepository _Writer;

        IEmployeeQuery _Reader;

        //constructor injection
        public EmployeeController(IEmployeeRepository writer, IEmployeeQuery reader)
        {
            this._Writer = writer;
	   this._Reader = reader;	

        }


        //To Do: constructor injection for write operations only
        public EmployeeController(IEmployeeRepository writer)
        {
            this._Writer = writer;

        }

        //To Do: constructor injection for read operations only
        public EmployeeController(IEmployeeQuery reader)
        {
            this._Reader = reader;

        }
    }


    //Registration of the concrete types in the unity container.
    public static class Bootstrapper
    {
        public static void ConfigureUnityContainer()
        {
            IUnityContainer container = new UnityContainer();

            container.RegisterType<IEmployeeRepository, EmployeeRepository>(new HttpContextLifetimeManager<IEmployeeRepository>());
            container.RegisterType<IEmployeeQuery, EmployeeQueries>(new HttpContextLifetimeManager<IEmployeeQuery>());
            ControllerBuilder.Current.SetControllerFactory(new UnityControllerFactory(container));
        }
    }

    //The derived Controller Factory for injection dependencies in the Controller constructor
    public class UnityControllerFactory : DefaultControllerFactory
    {
        IUnityContainer container;

        public UnityControllerFactory(IUnityContainer container)
        {
            this.container = container;
        }
        protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
        {
            

            try
            {
                if (controllerType == null)
                {
                    throw new ArgumentNullException("controllerType");
                }

                if (!typeof(IController).IsAssignableFrom(controllerType))
                {
                    throw new ArgumentException(String.Format("Type requested is not a controller: {0}", controllerType.Name), "controllerType");
                }

                return container.Resolve(controllerType) as IController;
			                

                
                
                               
            }
            catch (Exception)
            {

                return null;
            }
        }
    }


I have figured out that for any action I will either be fetching data or writing data but not both. In that case I need to invoke the controller constructors conditionally depending on which of "_Writer" or "_Reader" I need to initialize. 

How can this be done ?