asp.net-mvc – Ninject – 具有参数/ Entity Framework连接字符
发布时间:2020-12-15 23:39:34 所属栏目:asp.Net 来源:网络整理
导读:请原谅我的无知,但我对IOC和NinJect很新.我已经寻找到高低的易于理解的解决方案,但到目前为止,他们已经逃避了我. 到目前为止,我有以下和所有的工作如预期: private class StandardModule : NinjectModule { public override void Load() { BindILog().ToNLo
|
请原谅我的无知,但我对IOC和NinJect很新.我已经寻找到高低的易于理解的解决方案,但到目前为止,他们已经逃避了我.
到目前为止,我有以下和所有的工作如预期: private class StandardModule : NinjectModule
{
public override void Load()
{
Bind<ILog>().To<NLogLogger>(); // Use NLog
Bind<IMyEntityFrameWorkRepository().To<MyEntityFrameWorkRepository>();
}
}
MyEntityFrameWorkRepository然后通过app / web.config中声明的连接字符串创建自己的EF DbContext: public class MyDbContext : DbContext
{
public MyDbContext() : base("MyAppConfig")
{
}
........
}
然而!!我的目标是这样的 – 我意识到这种语法是“废话”(我想我也可能需要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) // will accept a standard SQL connection string
{
}
........
}
我真的非常感谢IOC / NinJect专家的一些反馈意见,因为我确信任何“模式”在其他情况下都是非常有用的. 解决方法
您可以使用.WithConstructorArgument()方法来指定构造函数参数.第一个参数应该是构造函数参数的名称.
public class StandardModule : NinjectModule
{
public override void Load()
{
string connectionString = "...";
Bind<IMyEntityFrameWorkRepository().To<MyEntityFrameWorkRepository>()
.WithConstructorArgument("sqlConnectionString",connectionString);
}
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – 当你不能使用ViewState时你会怎么做?
- asp.net – 在.css文件中引用应用程序相对虚拟路
- asp.net-mvc – Html.ActionLink给出错误:无法解
- asp.net – 用于检索用户名的IPrincipal或Member
- asp.net-mvc – ServiceStack应该是MVC应用程序中
- asp.net-mvc – 一个ASP.NET MVC验证器,用于确保
- asp.net – .NET 4中的SignalR支持
- 实体框架 – ASP.NET Web Api 2/EF6首次调用初始
- 单元测试 – 首先要测试的项目的哪个部分?
- exception throw in progress runner thread_VS2
热点阅读
