[英]Entity Framework 4.1 and the Generic IRepository<T> Pattern and Windsor
我可以使用注入我的DbContext
Component.For<IEFDataContextProvider>().ImplementedBy<EFDataContextProvider>().LifeStyle.PerWebRequest
.DynamicParameters((k, d) => d["context"] = new PLSS.Models.PlssContext())
這很有效。 但是,這僅在上下文初始化程序不需要刪除數據庫的情況下有效。
DropCreateDatabaseAlways<PlssContext>
產生錯誤
無法刪除數據庫“ PLSS.Models.PlssContext”,因為它當前正在使用中。
我認為這意味着該文件夾已在溫莎容器中使用。 這與LifeStyle是PerWebRequest有關嗎? 我也嘗試過Transient的相同問題。
另外,我將如何使用xml容器表示形式來創建組件。 我希望將它放在我的windsor.config中,以便可以根據需要進行更改。
我認為這等同於我使用流利的api的功能,但是我收到一個奇怪的錯誤,我將在下面發布。
<component
id="IEFDataContextProvider"
service="AGRC.Common.Repositories.IEFDataContextProvider, AGRC.Common"
type="AGRC.Common.Repositories.EFDataContextProvider, AGRC.Common"
lifestyle="PerWebRequest">
<parameters>
<context>
${PlssContext}
</context>
</parameters>
</component>
<component
id="PlssContext"
type="PLSS.Models.PlssContext, PLSS.Models"
lifestyle="transient">
</component>
程序集“ Microsoft.Web.Mvc,版本= 2.0.0.0,文化=中性,PublicKeyToken =空”中的程序集“ Microsoft.Web.Mvc,類型= Microsoft.Web.Mvc.MvcDynamicSessionControllerFactory”中的方法“ GetControllerSessionBehavior”沒有實現。
不知道這是怎么回事,但是...
這可能是一個典型的例子
認為我的服務器瀏覽器中存在活動連接。
您有針對MVC2編譯的程序集版本,並且您正在使用MVC3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.