我正在使用由外部方设计的相当可怕的模式,它包含一个名为orderso 的表,当我调用在LINQPad中引用此表的查询时,我得到一个SQL语法错误.
我知道如何引用MySQL中的标识符,但我看不到如何使用LINQPad和IQ驱动程序.望着这好像是到驱动程序实现.
我正在为第三方应用程序构建一个插件,我的插件使用Autofac连接各种组件.容器是在应用程序启动时构建的,但主机应用程序稍后会调用我的命令.
调用命令时,宿主应用程序提供了一些它定义的类型实例以及我的组件需要使用的实例.我想在容器中注册这些实例,以便它可以处理依赖于这些实例的组件.
我知道我可以使用ContainerBuilder来更新现有容器,但是当命令完成时我想删除这些注册,因为这些实例将不再有效.这可能吗?
也许更好的方法是使用2个容器......该命令可以创建一个新的容器来注册这些实例,其他组件可以从应用程序范围的容器中解析.
我如何连接2个容器,以便解决呼叫冒泡到应用程序作用域容器?
用这种方法有什么问题需要注意吗?我想可能有组件寿命问题......
编辑: 现在我做了更多的研究和测试,结果我只能使用BeginLifetimeScope(Action <ContainerBuilder>)重载来注册主机应用程序提供的嵌套生命周期的实例.出于某种原因,我认为在嵌套生命周期中添加注册会导致它们被添加到根容器中,但似乎并非如此.