我在Unity中遇到EF4 ObjectContext问题。具体而言,当团结试图解决我的ObjectContext用下面的代码:使用Unity注册EF4 ObjectContext的正确方法?
container.RegisterType<ObjectContext, MyObjectContext>(
new TransientLifetimeManager(), new InjectionConstructor());
它给我:
指定命名的连接或者未在配置中发现的,不打算与使用EntityClient提供者,或无效。
我以为这将能够使用已创建EF4数据模型(带参数的构造函数使用)时设置的硬连线连接,但似乎我必须明确地传递这个在:
container.RegisterType<ObjectContext, MyObjectContext>(
new TransientLifetimeManager(), new InjectionConstructor(connectionString));
此外,由于此方法似乎创建我的(一次性)ObjectContext的实例,何时是适当的地方来销毁它?
或者,我应该完全不同吗?
在此先感谢。
感谢Slauma,我没有想过在我的EF项目中检查app.config。你是对的,它在那里。将该连接字符串复制到我的web.config文件中,可以让我将它恢复为无参数的构造函数。关于ObjectContext的处理,我需要深入探讨这个问题,并可能在另一个问题上提出这个问题。我使用了一些我发现的示例实现,并且在我确定最佳处置ObjectContext之前需要更好地理解它。 – 2011-02-14 04:01:26