Configuration 是**啟動階段**物件,負責收集映射資訊並編譯為不可變的 ISessionFactory。ISessionFactory 為**執行緒安全**單例,全應用程式共享。
Configuration cfg = new Configuration()
.AddXmlFile("User.hbm.xml")
.AddXmlFile("Order.hbm.xml");
Configuration cfg = new Configuration()
.AddClass(typeof(User))
.AddClass(typeof(Order));
{Namespace}.{ClassName}.hbm.xmlAssembly.GetManifestResourceStream() 載入Configuration cfg = new Configuration()
.AddAssembly("MyDomainModel"); // 或 Assembly.GetExecutingAssembly()
*.hbm.xml 內嵌資源ISessionFactory factory = cfg.BuildSessionFactory();
IDbConnection conn = MyApp.GetOpenConnection(); // 連線池、加密連線字串等自訂邏輯
ISession session = factory.OpenSession(conn);
限制:同一連線上不能開啟兩個平行 ISession。
ISessionFactory 後即可丟棄Session-per-Request 模式)