相关疑难解决方法(0)

Ninject - 带参数/实体框架连接字符串的绑定构造函数

请原谅我的无知,但我对IOC和NinJect很新.我已经搜索了高低的易于理解的解决方案,但到目前为止他们已经找不到我了.

到目前为止,我有以下所有工作正如预期:

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

然后,MyEntityFrameWorkRepository通过app/web.config中声明的连接字符串创建自己的EF DbContext:

public class MyDbContext : DbContext
{
   public MyDbContext() : base("MyAppConfig")
   {
   }
   ........
}
Run Code Online (Sandbox Code Playgroud)

然而!!我的目标是这样的 - 我意识到这种语法是"胡说八道"(我我也可能需要IOC MyDbConext),但我希望"伪代码"传达我的愿望:

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) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc ninject ioc-container

19
推荐指数
2
解决办法
1万
查看次数

标签 统计

asp.net-mvc ×1

ioc-container ×1

ninject ×1