forked from nhibernate/nhibernate-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathISharedSessionBuilder.cs
50 lines (45 loc) · 2.11 KB
/
ISharedSessionBuilder.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
namespace NHibernate
{
// NH different implementation: will not try to support covariant return type for specializations
// until it is needed.
/// <summary>
/// Specialized <see cref="ISessionBuilder"/> with access to stuff from another session.
/// </summary>
public interface ISharedSessionBuilder : ISessionBuilder<ISharedSessionBuilder>
{
/// <summary>
/// Signifies that the connection from the original session should be used to create the new session.
/// The original session remains responsible for it and its closing will cause sharing sessions to be no
/// more usable.
/// Causes specified <c>ConnectionReleaseMode</c> and <c>AutoJoinTransaction</c> to be ignored and
/// replaced by those of the original session.
/// </summary>
/// <returns><see langword="this" />, for method chaining.</returns>
ISharedSessionBuilder Connection();
/// <summary>
/// Signifies the interceptor from the original session should be used to create the new session.
/// </summary>
/// <returns><see langword="this" />, for method chaining.</returns>
ISharedSessionBuilder Interceptor();
/// <summary>
/// Signifies that the connection release mode from the original session should be used to create the new session.
/// </summary>
/// <returns><see langword="this" />, for method chaining.</returns>
ISharedSessionBuilder ConnectionReleaseMode();
/// <summary>
/// Signifies that the FlushMode from the original session should be used to create the new session.
/// </summary>
/// <returns><see langword="this" />, for method chaining.</returns>
ISharedSessionBuilder FlushMode();
/// <summary>
/// Signifies that the AutoClose flag from the original session should be used to create the new session.
/// </summary>
/// <returns><see langword="this" />, for method chaining.</returns>
ISharedSessionBuilder AutoClose();
/// <summary>
/// Signifies that the AutoJoinTransaction flag from the original session should be used to create the new session.
/// </summary>
/// <returns><see langword="this" />, for method chaining.</returns>
ISharedSessionBuilder AutoJoinTransaction();
}
}