Skip to content

Commit 29fbd9c

Browse files
Update reference documentation to 5.0
1 parent ba6bbd4 commit 29fbd9c

32 files changed

+4143
-3095
lines changed

doc/nh/en/index.html

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

doc/nhibernate-reference/architecture.html

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
---
2-
layout:
3-
---
1+
<!doctype html>
42
<html><head>
53
<meta charset="utf-8">
64
<meta name="viewport" content="width=device-width, initial-scale=1" />
75
<meta http-equiv="X-UA-Compatible" content="IE=edge">
86
<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>
7+
<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>
108
A (very) high-level view of the NHibernate architecture:
119
</p><div class="mediaobject" align="center"><img src="../shared/images/overview.png" align="middle"></div><p>
1210
This diagram shows NHibernate using the database and configuration data to
@@ -21,7 +19,7 @@
2119
The "full cream" architecture abstracts the application away from the
2220
underlying ADO.NET APIs and lets NHibernate take care of the details.
2321
</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:
22+
Here are some definitions of the objects in the diagrams:
2523

2624
</p><div class="variablelist"><dl><dt><span class="term">ISessionFactory (<tt class="literal">NHibernate.ISessionFactory</tt>)</span></dt><dd><p>
2725
A threadsafe (immutable) cache of compiled mappings for a single database.
@@ -51,11 +49,12 @@
5149
(Optional) A single-threaded, short-lived object used by the application to
5250
specify atomic units of work. Abstracts application from underlying ADO.NET
5351
transaction. An <tt class="literal">ISession</tt> might span several
54-
<tt class="literal">ITransaction</tt>s in some cases.
52+
<tt class="literal">ITransaction</tt>s in some cases. Transaction scopes may be used
53+
instead.
5554
</p></dd><dt><span class="term">IConnectionProvider (<tt class="literal">NHibernate.Connection.IConnectionProvider</tt>)</span></dt><dd><p>
5655
(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
56+
from the concrete vendor-specific implementations of <tt class="literal">DbConnection</tt>
57+
and <tt class="literal">DbCommand</tt>. Not exposed to application, but can be
5958
extended/implemented by the developer.
6059
</p></dd><dt><span class="term">IDriver (<tt class="literal">NHibernate.Driver.IDriver</tt>)</span></dt><dd><p>
6160
(Optional) An interface encapsulating differences between ADO.NET providers, such
@@ -88,7 +87,7 @@
8887
The instance was once associated with a persistence
8988
context, but that context was closed, or the instance
9089
was serialized to another process. It has a persistent
91-
identity and, perhaps, a corrsponding row in the database.
90+
identity and, perhaps, a corresponding row in the database.
9291
For detached instances, NHibernate makes no guarantees
9392
about the relationship between persistent identity and
9493
CLR identity.
@@ -101,7 +100,7 @@
101100
Starting with version 1.2, NHibernate added the <tt class="literal">ISessionFactory.GetCurrentSession()</tt>
102101
method. The processing behind <tt class="literal">ISessionFactory.GetCurrentSession()</tt> is pluggable.
103102
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
103+
configuration parameter (<tt class="literal">current_session_context_class</tt>) have been added
105104
to allow pluggability of the scope and context of defining current sessions.
106105
</p><p>
107106
See the API documentation for the <tt class="literal">NHibernate.Context.ICurrentSessionContext</tt>
@@ -110,36 +109,44 @@
110109
tracking the current contextual session. Out-of-the-box, NHibernate comes with several
111110
implementations of this interface:
112111
</p><div class="itemizedlist"><ul type="disc"><li><p>
112+
<tt class="literal">NHibernate.Context.AsyncLocalSessionContext</tt> - current sessions are tracked
113+
by current asynchronous flow. You are responsible to bind and unbind an
114+
<tt class="literal">ISession</tt> instance with static methods of class
115+
<tt class="literal">CurrentSessionContext</tt>. Binding operations from inner flows will not be
116+
propagated to outer or siblings flows. Added in NHibernate 5.0.
117+
</p></li><li><p>
113118
<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>.
119+
by <tt class="literal">CallContext</tt>. You are responsible to bind and unbind an
120+
<tt class="literal">ISession</tt> instance with static methods of class
121+
<tt class="literal">CurrentSessionContext</tt>.
117122
</p></li><li><p>
118123
<tt class="literal">NHibernate.Context.ThreadStaticSessionContext</tt> - current session is
119-
stored in a thread-static variable. This context only supports one session factory.
124+
stored in a thread-static variable. This context supports multiple session factory only
125+
since NHibernate v5.
120126
You are responsible to bind and unbind an <tt class="literal">ISession</tt> instance with
121127
static methods of class <tt class="literal">CurrentSessionContext</tt>.
122128
</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>.
129+
<tt class="literal">NHibernate.Context.WebSessionContext</tt> -
130+
stores the current session in <tt class="literal">HttpContext</tt>.
131+
You are responsible to bind and unbind an <tt class="literal">ISession</tt>
132+
instance with static methods of class <tt class="literal">CurrentSessionContext</tt>.
127133
</p></li><li><p>
128134
<tt class="literal">NHibernate.Context.WcfOperationSessionContext</tt> - current sessions are tracked
129135
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>.
136+
extension in WCF. You are responsible to bind and unbind an <tt class="literal">ISession</tt>
137+
instance with static methods of class <tt class="literal">CurrentSessionContext</tt>.
132138
</p></li><li><p>
133139
<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
140+
sessions are tracked by <tt class="literal">HttpContext</tt>. Removed in NHibernate 4.0
141+
- <tt class="literal">NHibernate.Context.WebSessionContext</tt> should be used instead.
142+
You are responsible to bind and unbind an <tt class="literal">ISession</tt> instance with static methods
137143
on this class, it never opens, flushes, or closes an <tt class="literal">ISession</tt> itself.
138144
</p></li></ul></div><p>
139-
The <tt class="literal">hibernate.current_session_context_class</tt> configuration parameter
145+
The <tt class="literal">current_session_context_class</tt> configuration parameter
140146
defines which <tt class="literal">NHibernate.Context.ICurrentSessionContext</tt> implementation
141147
should be used. Typically, the value of this parameter would just name the implementation
142148
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",
149+
there are corresponding short names: <tt class="literal">async_local</tt>, <tt class="literal">call</tt>,
150+
<tt class="literal">thread_static</tt>, <tt class="literal">web</tt> and <tt class="literal">wcf_operation</tt>,
144151
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>
152+
</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)