作用域会话将创建一个代理对象,该对象保留(默认情况下)每个线程会话对象的注册表(默认情况下),这些对象是从传递的会话工厂按需创建的。当您访问诸如此类的会话方法时,
ScopedSession.add它将找到与当前线程相对应的会话,并返回
add绑定到该会话的方法。使用该
ScopedSession.remove()方法可以删除活动会话。
ScopedSession有一些便捷的方法,一种是
query_property创建一个属性,该属性返回绑定到在其上创建的作用域会话和被访问的类的查询对象的查询对象。另一个是
ScopedSession.mapper添加默认
__init__(**kwargs)
构造函数,默认情况下将创建的对象添加到已创建映射器的作用域会话中。可以通过
save_on_init映射器的关键字参数来控制此行为。
ScopedSession.mapper由于问题中的问题而被弃用。在这种情况下,Python的“显式优于隐式”哲学才真正适用。不幸的是,Elixir仍然默认使用
ScopedSession.mapper。



