Entity Framework RC1 DbContext 查询问题的后续问题
我可以使用注入我的 DbContext
Component.For<IEFDataContextProvider>().ImplementedBy<EFDataContextProvider>().LifeStyle.PerWebRequest
.DynamicParameters((k, d) => d["context"] = new PLSS.Models.PlssContext())
这很好用。但是,这仅在我的上下文初始化程序不需要删除数据库时才有效。
DropCreateDatabaseAlways<PlssContext>
创建错误
无法删除数据库“PLSS.Models.PlssContext”,因为它当前正在使用中。
我认为这意味着温莎容器正在使用它。这是否与作为 PerWebRequest 的 LifeStyle 有关?我也尝试过 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,Version=2.0.0.0,Culture=neutral,PublicKeyToken=null”的“Microsoft.Web.Mvc.MvcDynamicSessionControllerFactory”类型中的方法“GetControllerSessionBehavior”没有实现。
不知道那是怎么回事,但是...