我在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