我第一次安装Ninject。我正在使用NinjectMvc3版本,它通过Nuget在App_Start文件夹中为您提供NinjectMvc3类。有在 RegisterServices方法我试图挂钩我在我的web.config中的实体连接字符串。基本上我现在所拥有的就是这个。使用NinjectMvc3设置实体连接字符串
var sConnection = ConfigurationManager.ConnectionStrings["dEntities"].ConnectionString;
kernel.Bind<IDataContext>().To<DataContext>().WithConstructorArgument("dEntities", new dEntities(sConnection));
这给我以下错误异常详细信息:System.InvalidOperationException:在应用程序的预启动初始化阶段无法调用此方法。
而且继承人一些源错误:
/// Initialize a new dEntities object.
/// </summary>
public dEntities(string connectionString) : base(connectionString, "dEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
我在做什么错?
编辑: 我可以补充说我正在使用实体框架和存储库模式。我希望做的是以某种方式在web.config中创建实体连接字符串的实例,并将其与NinjectMvc3绑定。任何人对此事有什么好的投入?
嗯林不知道的设置,所以可能不需要它。虽然你在我尝试这种方式时建议的方式,我没有得到有关属性的建议。 Settings.Default.dEntities?你确定它在这个名字空间吗? – Tim 2011-12-19 13:54:56
它应该。我也使用MVC3。 (不是与Ninject,而是与城堡windsor,但这不应该是相关的),这里是我的设置:http://i.imgur.com/smXq6.png,在这里代码:http://i.imgur。 com/Myakz.png,就像ConfigurationManager – 2011-12-19 14:08:00
一样嗯,以及我没有得到任何建议。这个我应该在NinjectMvc3类的RegisterServices方法中完成?谢谢。 – Tim 2011-12-19 14:26:56