Skip to content

Commit 4efde76

Browse files
Update reference documentation to 5.0
1 parent ba6bbd4 commit 4efde76

32 files changed

+4142
-3126
lines changed

doc/nh/en/index.html

Lines changed: 2037 additions & 1486 deletions
Large diffs are not rendered by default.

doc/nhibernate-reference/architecture.html

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
---
2-
layout:
3-
---
4-
<html><head>
1+
<html><head>
52
<meta charset="utf-8">
63
<meta name="viewport" content="width=device-width, initial-scale=1" />
74
<meta http-equiv="X-UA-Compatible" content="IE=edge">
85
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
9-
<title>Chapter&nbsp;2.&nbsp;Architecture</title><link rel="stylesheet" href="../shared/css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="NHibernate - Relational Persistence for Idiomatic .NET"><link rel="up" href="index.html" title="NHibernate - Relational Persistence for Idiomatic .NET"><link rel="previous" href="quickstart.html" title="Chapter&nbsp;1.&nbsp;Quickstart with IIS and Microsoft SQL Server"><link rel="next" href="session-configuration.html" title="Chapter&nbsp;3.&nbsp;ISessionFactory Configuration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;2.&nbsp;Architecture</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="quickstart.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="session-configuration.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="architecture"></a>Chapter&nbsp;2.&nbsp;Architecture</h2></div></div><div></div></div>{% include google_adsense.html %}<div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="architecture-overview"></a>2.1.&nbsp;Overview</h2></div></div><div></div></div><p>
6+
<title>Chapter&nbsp;2.&nbsp;Architecture</title><link rel="stylesheet" href="../shared/css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="NHibernate - Relational Persistence for Idiomatic .NET"><link rel="up" href="index.html" title="NHibernate - Relational Persistence for Idiomatic .NET"><link rel="previous" href="quickstart.html" title="Chapter&nbsp;1.&nbsp;Quick-start with IIS and Microsoft SQL Server"><link rel="next" href="session-configuration.html" title="Chapter&nbsp;3.&nbsp;ISessionFactory Configuration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;2.&nbsp;Architecture</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="quickstart.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="session-configuration.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="architecture"></a>Chapter&nbsp;2.&nbsp;Architecture</h2></div></div><div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="architecture-overview"></a>2.1.&nbsp;Overview</h2></div></div><div></div></div><p>
107
A (very) high-level view of the NHibernate architecture:
118
</p><div class="mediaobject" align="center"><img src="../shared/images/overview.png" align="middle"></div><p>
129
This diagram shows NHibernate using the database and configuration data to
@@ -21,7 +18,7 @@
2118
The "full cream" architecture abstracts the application away from the
2219
underlying ADO.NET APIs and lets NHibernate take care of the details.
2320
</p><div class="mediaobject" align="center"><img src="../shared/images/fullcream.png" align="middle"></div><p>
24-
Heres some definitions of the objects in the diagrams:
21+
Here are some definitions of the objects in the diagrams:
2522

2623
</p><div class="variablelist"><dl><dt><span class="term">ISessionFactory (<tt class="literal">NHibernate.ISessionFactory</tt>)</span></dt><dd><p>
2724
A threadsafe (immutable) cache of compiled mappings for a single database.
@@ -51,11 +48,12 @@
5148
(Optional) A single-threaded, short-lived object used by the application to
5249
specify atomic units of work. Abstracts application from underlying ADO.NET
5350
transaction. An <tt class="literal">ISession</tt> might span several
54-
<tt class="literal">ITransaction</tt>s in some cases.
51+
<tt class="literal">ITransaction</tt>s in some cases. Transaction scopes may be used
52+
instead.
5553
</p></dd><dt><span class="term">IConnectionProvider (<tt class="literal">NHibernate.Connection.IConnectionProvider</tt>)</span></dt><dd><p>
5654
(Optional) A factory for ADO.NET connections and commands. Abstracts application
57-
from the concrete vendor-specific implementations of <tt class="literal">IDbConnection</tt>
58-
and <tt class="literal">IDbCommand</tt>. Not exposed to application, but can be
55+
from the concrete vendor-specific implementations of <tt class="literal">DbConnection</tt>
56+
and <tt class="literal">DbCommand</tt>. Not exposed to application, but can be
5957
extended/implemented by the developer.
6058
</p></dd><dt><span class="term">IDriver (<tt class="literal">NHibernate.Driver.IDriver</tt>)</span></dt><dd><p>
6159
(Optional) An interface encapsulating differences between ADO.NET providers, such
@@ -88,7 +86,7 @@
8886
The instance was once associated with a persistence
8987
context, but that context was closed, or the instance
9088
was serialized to another process. It has a persistent
91-
identity and, perhaps, a corrsponding row in the database.
89+
identity and, perhaps, a corresponding row in the database.
9290
For detached instances, NHibernate makes no guarantees
9391
about the relationship between persistent identity and
9492
CLR identity.
@@ -101,7 +99,7 @@
10199
Starting with version 1.2, NHibernate added the <tt class="literal">ISessionFactory.GetCurrentSession()</tt>
102100
method. The processing behind <tt class="literal">ISessionFactory.GetCurrentSession()</tt> is pluggable.
103101
An extension interface (<tt class="literal">NHibernate.Context.ICurrentSessionContext</tt>) and a new
104-
configuration parameter (<tt class="literal">hibernate.current_session_context_class</tt>) have been added
102+
configuration parameter (<tt class="literal">current_session_context_class</tt>) have been added
105103
to allow pluggability of the scope and context of defining current sessions.
106104
</p><p>
107105
See the API documentation for the <tt class="literal">NHibernate.Context.ICurrentSessionContext</tt>
@@ -110,36 +108,44 @@
110108
tracking the current contextual session. Out-of-the-box, NHibernate comes with several
111109
implementations of this interface:
112110
</p><div class="itemizedlist"><ul type="disc"><li><p>
111+
<tt class="literal">NHibernate.Context.AsyncLocalSessionContext</tt> - current sessions are tracked
112+
by current asynchronous flow. You are responsible to bind and unbind an
113+
<tt class="literal">ISession</tt> instance with static methods of class
114+
<tt class="literal">CurrentSessionContext</tt>. Binding operations from inner flows will not be
115+
propagated to outer or siblings flows. Added in NHibernate 5.0.
116+
</p></li><li><p>
113117
<tt class="literal">NHibernate.Context.CallSessionContext</tt> - current sessions are tracked
114-
by <tt class="literal">CallContext</tt>. You are responsible to bind and unbind an <tt class="literal">
115-
ISession</tt> instance with static methods of class <tt class="literal">CurrentSessionContext
116-
</tt>.
118+
by <tt class="literal">CallContext</tt>. You are responsible to bind and unbind an
119+
<tt class="literal">ISession</tt> instance with static methods of class
120+
<tt class="literal">CurrentSessionContext</tt>.
117121
</p></li><li><p>
118122
<tt class="literal">NHibernate.Context.ThreadStaticSessionContext</tt> - current session is
119-
stored in a thread-static variable. This context only supports one session factory.
123+
stored in a thread-static variable. This context supports multiple session factory only
124+
since NHibernate v5.
120125
You are responsible to bind and unbind an <tt class="literal">ISession</tt> instance with
121126
static methods of class <tt class="literal">CurrentSessionContext</tt>.
122127
</p></li><li><p>
123-
<tt class="literal">NHibernate.Context.WebSessionContext</tt> -
124-
stores the current session in <tt class="literal">HttpContext</tt>.
125-
You are responsible to bind and unbind an <tt class="literal">ISession</tt>
126-
instance with static methods of class <tt class="literal">CurrentSessionContext</tt>.
128+
<tt class="literal">NHibernate.Context.WebSessionContext</tt> -
129+
stores the current session in <tt class="literal">HttpContext</tt>.
130+
You are responsible to bind and unbind an <tt class="literal">ISession</tt>
131+
instance with static methods of class <tt class="literal">CurrentSessionContext</tt>.
127132
</p></li><li><p>
128133
<tt class="literal">NHibernate.Context.WcfOperationSessionContext</tt> - current sessions are tracked
129134
by WCF <tt class="literal">OperationContext</tt>. You need to register the <tt class="literal">WcfStateExtension</tt>
130-
extension in WCF. You are responsible to bind and unbind an <tt class="literal">ISession
131-
</tt> instance with static methods of class <tt class="literal">CurrentSessionContext</tt>.
135+
extension in WCF. You are responsible to bind and unbind an <tt class="literal">ISession</tt>
136+
instance with static methods of class <tt class="literal">CurrentSessionContext</tt>.
132137
</p></li><li><p>
133138
<tt class="literal">NHibernate.Context.ManagedWebSessionContext</tt> - current
134-
sessions are tracked by <tt class="literal">HttpContext</tt>. Removed in NHibernate 4.0
135-
- <tt class="literal">NHibernate.Context.WebSessionContext</tt> should be used instead.
136-
You are responsible to bind and unbind an <tt class="literal">ISession</tt> instance with static methods
139+
sessions are tracked by <tt class="literal">HttpContext</tt>. Removed in NHibernate 4.0
140+
- <tt class="literal">NHibernate.Context.WebSessionContext</tt> should be used instead.
141+
You are responsible to bind and unbind an <tt class="literal">ISession</tt> instance with static methods
137142
on this class, it never opens, flushes, or closes an <tt class="literal">ISession</tt> itself.
138143
</p></li></ul></div><p>
139-
The <tt class="literal">hibernate.current_session_context_class</tt> configuration parameter
144+
The <tt class="literal">current_session_context_class</tt> configuration parameter
140145
defines which <tt class="literal">NHibernate.Context.ICurrentSessionContext</tt> implementation
141146
should be used. Typically, the value of this parameter would just name the implementation
142147
class to use (including the assembly name); for the out-of-the-box implementations, however,
143-
there are corresponding short names: "call", "thread_static", "web" and "wcf_operation",
148+
there are corresponding short names: <tt class="literal">async_local</tt>, <tt class="literal">call</tt>,
149+
<tt class="literal">thread_static</tt>, <tt class="literal">web</tt> and <tt class="literal">wcf_operation</tt>,
144150
respectively.
145-
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="quickstart.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="session-configuration.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Quickstart with IIS and Microsoft SQL Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;ISessionFactory Configuration</td></tr></table></div>{% include google_analytics.html %}{% include metrika_yandex_ru.html %}</body></html>
151+
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="quickstart.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="session-configuration.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Quick-start with IIS and Microsoft SQL Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;ISessionFactory Configuration</td></tr></table></div></body></html>

0 commit comments

Comments
 (0)