Skip to content

NH-3958: documents missing types, fix broken links #565

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# doc-level .gitignore.

NHibernate.shfbproj
2 changes: 1 addition & 1 deletion doc/reference/master.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<bookinfo>
<title>NHibernate - Relational Persistence for Idiomatic .NET</title>
<subtitle>NHibernate Reference Documentation</subtitle>
<releaseinfo>4.0</releaseinfo>
<releaseinfo>5.0</releaseinfo>
</bookinfo>

<toc />
Expand Down
82 changes: 68 additions & 14 deletions doc/reference/modules/basic_mapping.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2622,6 +2622,12 @@
<entry><literal>DbType.StringFixedLength - 1 char</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>Currency</literal></entry>
<entry><literal>System.Decimal</literal></entry>
<entry><literal>DbType.Currency</literal></entry>
<entry><literal>type="Currency"</literal> must be specified.</entry>
</row>
<row>
<entry><literal>Date</literal></entry>
<entry><literal>System.DateTime</literal></entry>
Expand All @@ -2640,25 +2646,31 @@
<entry><literal>DbType.DateTime2</literal></entry>
<entry><literal>type="DateTime2"</literal> must be specified.</entry>
</row>
<row>
<entry><literal>DateTimeOffset</literal></entry>
<entry><literal>System.DateTimeOffset</literal></entry>
<entry><literal>DbType.DateTimeOffset</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>DbTimestamp</literal></entry>
<entry><literal>System.DateTime</literal></entry>
<entry><literal>DbType.DateTime</literal> - as specific as database supports.</entry>
<entry><literal>type="DbTimestamp"</literal> must be specified. When used as a <literal>version</literal> field, uses the database's current time rather than the client's current time.</entry>
</row>
<row>
<entry><literal>LocalDateTime</literal></entry>
<entry><literal>System.DateTime</literal></entry>
<entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
<entry>Ensures the <literal>DateTimeKind</literal> is set to <literal>DateTimeKind.Local</literal></entry>
</row>
<row>
<entry><literal>UtcDateTime</literal></entry>
<entry><literal>System.DateTime</literal></entry>
<entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
<entry>Ensures the <literal>DateTimeKind</literal> is set to <literal>DateTimeKind.Utc</literal></entry>
</row>
<row>
<row>
<entry><literal>LocalDateTime</literal></entry>
<entry><literal>System.DateTime</literal></entry>
<entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
<entry>Ensures the <literal>DateTimeKind</literal> is set to <literal>DateTimeKind.Local</literal></entry>
</row>
<row>
<entry><literal>UtcDateTime</literal></entry>
<entry><literal>System.DateTime</literal></entry>
<entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
<entry>Ensures the <literal>DateTimeKind</literal> is set to <literal>DateTimeKind.Utc</literal></entry>
</row>
<row>
<entry><literal>Decimal</literal></entry>
<entry><literal>System.Decimal</literal></entry>
<entry><literal>DbType.Decimal</literal></entry>
Expand Down Expand Up @@ -2699,9 +2711,15 @@
<entry>A <literal>System.Enum</literal></entry>
<entry>The <literal>DbType</literal> for the underlying value.</entry>
<entry>Do not specify <literal>type="PersistentEnum"</literal> in the mapping. Instead
specify the Assembly Qualified Name of the Enum or let NHibernate use Reflection to "guess" the Type.
specify the Assembly Qualified Name of the Enum or let NHibernate use Reflection to "guess" the Type.
The UnderlyingType of the Enum is used to determine the correct <literal>DbType</literal>.</entry>
</row>
<row>
<entry><literal>SByte</literal></entry>
<entry><literal>System.SByte</literal></entry>
<entry><literal>DbType.SByte</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>Single</literal></entry>
<entry><literal>System.Single</literal></entry>
Expand Down Expand Up @@ -2744,6 +2762,24 @@
<entry><literal>DbType.AnsiStringFixedLength</literal> - 1 char either 'T' or 'F'</entry>
<entry><literal>type="TrueFalse"</literal> must be specified.</entry>
</row>
<row>
<entry><literal>UInt16</literal></entry>
<entry><literal>System.UInt16</literal></entry>
<entry><literal>DbType.UInt16</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>UInt32</literal></entry>
<entry><literal>System.UInt32</literal></entry>
<entry><literal>DbType.UInt32</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>UInt64</literal></entry>
<entry><literal>System.UInt64</literal></entry>
<entry><literal>DbType.UInt64</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>YesNo</literal></entry>
<entry><literal>System.Boolean</literal></entry>
Expand Down Expand Up @@ -2796,6 +2832,12 @@
<entry><literal>DbType.String</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
<row>
<entry><literal>Uri</literal></entry>
<entry><literal>System.Uri</literal></entry>
<entry><literal>DbType.String</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
</tbody>
</tgroup>
</table>
Expand Down Expand Up @@ -2831,6 +2873,18 @@
<entry><literal>type="Serializable"</literal> should be specified. This is the fallback type
if no NHibernate Type can be found for the Property.</entry>
</row>
<row>
<entry><literal>XDoc</literal></entry>
<entry><literal>System.Xml.Linq.XDocument</literal></entry>
<entry><literal>DbType.Xml</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified. Entire field is read into memory.</entry>
</row>
<row>
<entry><literal>XmlDoc</literal></entry>
<entry><literal>System.Xml.XmlDocument</literal></entry>
<entry><literal>DbType.Xml</literal></entry>
<entry>Default when no <literal>type</literal> attribute specified. Entire field is read into memory.</entry>
</row>
</tbody>
</tgroup>
</table>
Expand Down
2 changes: 1 addition & 1 deletion doc/reference/modules/batch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ session.Close();]]></programlisting>
</listitem>
<listitem>
<para>
No <link linkend="queryhql-joins-forms">joins</link> (either implicit or explicit)
No <link linkend="queryhql-joins">joins</link> (either implicit or explicit)
can be specified in a bulk HQL query. Sub-queries may be used in the where-clause;
the subqueries, themselves, may contain joins.
</para>
Expand Down
3 changes: 0 additions & 3 deletions doc/reference/modules/nhibernate_mapping_attributes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,6 @@ public class Base {
<listitem>
<para>Instead of using a string for <methodname>DiscriminatorValue</methodname> (in <classname>[Class]</classname> and <classname>[Subclass]</classname>), you can use any object you want. Example: <programlisting>[Subclass(DiscriminatorValueEnumFormat="d", DiscriminatorValueObject=DiscEnum.Val1)]</programlisting> Here, the object is an Enum, and you can set the format you want (the default value is "g"). Note that you must put it <emphasis role="strong">before</emphasis>! For others types, It simply use the <methodname>ToString()</methodname> method of the object.</para>
</listitem>
<listitem>
<para>If you are using members of the type <classname>Nullables.NullableXXX</classname> (from the library <link linkend="nullables">Nullables</link>), then they will be mapped to <classname>Nullables.NHibernate.NullableXXXType</classname> automatically; don't set <literal>Type="..."</literal> in <classname>[Property]</classname> (leave it null). This is also the case for <classname>SqlTypes</classname> (and you can add your own patterns). Thanks to <emphasis>Michael Third</emphasis> for the idea :)</para>
</listitem>
<listitem>
<para>Each stream generated by NHibernate.Mapping.Attributes can contain a comment with the date of the generation; You may enable/disable this by using the property <methodname>HbmSerializer.WriteDateComment</methodname>.</para>
</listitem>
Expand Down
17 changes: 14 additions & 3 deletions src/NHibernate/NHibernateUtil.cs
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,12 @@ public static IType GuessType(System.Type type)
public static readonly TicksType Ticks = new TicksType();

/// <summary>
/// NHibernate Ticks type
/// NHibernate TimeAsTimeSpan type
/// </summary>
public static readonly TimeAsTimeSpanType TimeAsTimeSpan = new TimeAsTimeSpanType();

/// <summary>
/// NHibernate Ticks type
/// NHibernate TimeSpan type
/// </summary>
public static readonly TimeSpanType TimeSpan = new TimeSpanType();

Expand Down Expand Up @@ -278,13 +278,24 @@ public static IType GuessType(System.Type type)
// /// </summary>
// public static readonly NullableType Clob = new ClobType();


/// <summary>
/// NHibernate AnsiChar type
/// </summary>
public static readonly AnsiCharType AnsiChar = new AnsiCharType();

/// <summary>
/// NHibernate XmlDoc type
/// </summary>
public static readonly XmlDocType XmlDoc = new XmlDocType();

/// <summary>
/// NHibernate XDoc type
/// </summary>
public static readonly XDocType XDoc = new XDocType();

/// <summary>
/// NHibernate Uri type
/// </summary>
public static readonly UriType Uri = new UriType();

/// <summary>
Expand Down