Ninject de liaison des constructeurs avec arguments / Entity Framework chaîne de connexion

S'il vous plaît pardonnez mon ignorance, mais je suis très nouveau à la COI et à NinJect. J'ai cherché haut et bas pour facilement compréhensible des solutions, mais jusqu'à présent, ils ont échappé à moi.

Pour l'instant j'ai la suite et tout fonctionne comme prévu:

private class StandardModule : NinjectModule
    {
      public override void Load()
      {
        Bind<ILog>().To<NLogLogger>();    //Use NLog
        Bind<IMyEntityFrameWorkRepository().To<MyEntityFrameWorkRepository>();
      }
    }

MyEntityFrameWorkRepository crée ensuite sa propre EF DbContext par l'intermédiaire d'une chaîne de connexion déclaré dans app/web.config:

public class MyDbContext : DbContext
{
   public MyDbContext() : base("MyAppConfig")
   {
   }
   ........
}

CEPENDANT!! Mon but est de faire quelque chose comme cela - je réaliser cette syntaxe est "non-sens" (et je pense j'ai peut-être CIO MyDbConext trop) , mais j'espère que le "pseudo-code" exprime mon désir:

private class StandardModule : NinjectModule
{
  public override void Load()
  {
    Bind<ILog>().To<NLogLogger>();    //Use NLog

    string mySqlConnectionString = MyApp.GetCommandLineArgument("sqlconn"); //"Data Source=..."
    Bind<IMyEntityFrameWorkRepository().To<MyEntityFrameWorkRepository>(mySqlConnectionString);
  }
}

.................

public class MyDbContext : DbContext
{
   public MyDbContext( string sqlConnectionString) :
      base(sqlConnectionString) //will accept a standard SQL connection string
   {
   }
   ........
}

Je voudrais vraiment l'apprécier quelques commentaires de CIO /NinJect experts, car je suis sûr que n'importe quel "modèle" peut être très utile dans d'autres scénarios.

InformationsquelleAutor JcMaltaDev | 2011-07-21