Update of /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data/Data/Common
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv6295
Modified Files:
DbMetadata.cs IDbMetadata.cs dbproviders.xml
Log Message:
SPRNET-514 - dbproviders.xml configuration should allow for an optional 'DeriveParameters' method.
Clean up code documenation
Index: IDbMetadata.cs
===================================================================
RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data/Data/Common/IDbMetadata.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** IDbMetadata.cs 11 Oct 2007 14:52:13 -0000 1.7
--- IDbMetadata.cs 21 Nov 2007 18:01:45 -0000 1.8
***************
*** 23,27 ****
using System;
using System.Reflection;
- using Spring.Data.Support;
#endregion
--- 23,26 ----
***************
*** 38,57 ****
public interface IDbMetadata
{
string ProductName { get; }
Type ConnectionType { get; }
Type CommandType { get; }
Type ParameterType { get; }
Type DataAdapterType { get; }
Type CommandBuilderType { get; }
Type ExceptionType { get; }
string ErrorCodeExceptionExpression { get; }
! MethodInfo
! CommandBuilderDeriveParametersMethod { get; }
/// <summary>
/// Provide the prefix used to indentify named parameters in SQL text.
/// </summary>
string ParameterNamePrefix { get; }
--- 37,109 ----
public interface IDbMetadata
{
+ /// <summary>
+ /// Gets a descriptive name of the product.
+ /// </summary>
+ /// <example>Example: Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0</example>
+ /// <value>The name of the product.</value>
string ProductName { get; }
+
+ /// <summary>
+ /// Gets the type of the connection. The fully qualified type name is given since some providers,
+ /// notably for SqlServerCe, do not use the same namespace for all data access types.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlCommand, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the connection.</value>
Type ConnectionType { get; }
+
+ /// <summary>
+ /// Gets the type of the command.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlCommand, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the command.</value>
Type CommandType { get; }
+
+ /// <summary>
+ /// Gets the type of the parameter.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlParameter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the parameter.</value>
Type ParameterType { get; }
+
+ /// <summary>
+ /// Gets the type of the data adapter.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlDataAdapter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the data adapter.</value>
Type DataAdapterType { get; }
+
+ /// <summary>
+ /// Gets the type of the command builder.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlCommandBuilder, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the command builder.</value>
Type CommandBuilderType { get; }
+
+ /// <summary>
+ /// Gets the type of the exception.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the exception.</value>
Type ExceptionType { get; }
+ /// <summary>
+ /// Gets the error code exception expression.
+ /// </summary>
+ /// <example>Example Errors[0].Number.ToString() for Sql Server </example>
+ /// <value>The error code exception expression.</value>
string ErrorCodeExceptionExpression { get; }
! /// <summary>
! /// Gets the command builder derive parameters method.
! /// </summary>
! /// <remarks>If the value 'not supported' is specified then this method will throw an ArgumentException</remarks>
! /// <example>Example: DeriveParameters</example>
! /// <value>The command builder derive parameters method.</value>
! MethodInfo CommandBuilderDeriveParametersMethod { get; }
/// <summary>
/// Provide the prefix used to indentify named parameters in SQL text.
/// </summary>
+ /// <example>@ for Sql Server</example>
string ParameterNamePrefix { get; }
***************
*** 87,99 ****
bool BindByName { get;
//TODO will go away when make all of this fully configuration driven.
! set; }
Type ParameterDbType { get; }
PropertyInfo ParameterDbTypeProperty { get; }
PropertyInfo ParameterIsNullableProperty { get; }
!
ErrorCodes ErrorCodes { get; }
}
--- 139,171 ----
bool BindByName { get;
//TODO will go away when make all of this fully configuration driven.
! set;
! }
+ /// <summary>
+ /// Gets the type of the parameter db.
+ /// </summary>
+ /// <example>Example: System.Data.SqlDbType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the parameter db.</value>
Type ParameterDbType { get; }
+ /// <summary>
+ /// Gets the parameter db type property.
+ /// </summary>
+ /// <example>Example: SqlDbType for SqlServer</example>
+ /// <value>The parameter db type property.</value>
PropertyInfo ParameterDbTypeProperty { get; }
+ /// <summary>
+ /// Gets the parameter is nullable property.
+ /// </summary>
+ /// <example>Example: IsNullable for Sql Server</example>
+ /// <value>The parameter is nullable property.</value>
PropertyInfo ParameterIsNullableProperty { get; }
! /// <summary>
! /// Gets or sets the error codes.
! /// </summary>
! /// <remarks>The collection of error codes to map error code integer values to Spring's DAO exception hierarchy</remarks>
! /// <value>The error codes.</value>
ErrorCodes ErrorCodes { get; }
}
Index: dbproviders.xml
===================================================================
RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data/Data/Common/dbproviders.xml,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** dbproviders.xml 18 Oct 2007 09:52:18 -0000 1.24
--- dbproviders.xml 21 Nov 2007 18:01:45 -0000 1.25
***************
*** 1,3 ****
! <?xml version="1.0" encoding="UTF-8"?>
<!--
--- 1,3 ----
! <?xml version="1.0" encoding="UTF-8"?>
<!--
***************
*** 8,11 ****
--- 8,46 ----
<!-- TODO Provide Schema to make it less verbose to configure -->
+ <object id="SybaseAse1.1" type="Spring.Data.Common.DbProvider, Spring.Data" singleton="false">
+ <constructor-arg name="dbMetaData">
+ <object type="Spring.Data.Common.DbMetadata">
+ <constructor-arg name="productName" value="Sybase Adaptive Server Enterprise 12.5, provider V1.1.411 in framework .NET V1.1"/>
+ <constructor-arg name="assemblyName" value="Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7" />
+ <constructor-arg name="connectionType" value="Sybase.Data.AseClient.AseConnection, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="commandType" value="Sybase.Data.AseClient.AseCommand, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="parameterType" value="Sybase.Data.AseClient.AseParameter, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="dataAdapterType" value="Sybase.Data.AseClient.AseDataAdapter, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="commandBuilderType" value="Sybase.Data.AseClient.AseCommandBuilder, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="commandBuilderDeriveParametersMethod" value="DeriveParameters"/>
+ <constructor-arg name="parameterDbType" value="Sybase.Data.AseClient.AseDbType, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="parameterDbTypeProperty" value="AseDbType"/>
+ <constructor-arg name="parameterIsNullableProperty" value="IsNullable"/>
+ <constructor-arg name="parameterNamePrefix" value="@"/>
+ <constructor-arg name="exceptionType" value="Sybase.Data.AseClient.AseException, Sybase.Data.AseClient, Version=1.1.411.0, Culture=neutral, PublicKeyToken=26e0f1529304f4a7"/>
+ <constructor-arg name="useParameterNamePrefixInParameterCollection" value="true"/>
+ <constructor-arg name="useParameterPrefixInSql" value="true"/>
+ <constructor-arg name="bindByName" value="true"/>
+ <constructor-arg name="errorCodeExceptionExpression" value="Errors[0].MessageNumber.ToString()"/>
+
+ <!-- TODO select form system db all errors that have 'incorrect syntax' at the start of the error string-->
+ <property name="ErrorCodes.BadSqlGrammarCodes">
+ <value>101,102,103,104,105,106,107,108,109,110,111,112,113,116,120,121,123,207,208,213,257,512</value>
+ </property>
+ <property name="ErrorCodes.DataIntegrityViolationCodes">
+ <value>423,511,515,530,547,2601,2615,2714</value>
+ </property>
+ <property name="ErrorCodes.DeadlockLoserCodes">
+ <value>1205</value>
+ </property>
+ </object>
+ </constructor-arg>
+
+ </object>
<!-- SQL SERVER -->
***************
*** 778,782 ****
<constructor-arg name="dataAdapterType" value="System.Data.SQLite.SQLiteDataAdapter , System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="commandBuilderType" value="System.Data.SQLite.SQLiteCommandBuilder, System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
! <constructor-arg name="commandBuilderDeriveParametersMethod" value="DeriveParameters"/>
<constructor-arg name="parameterDbType" value="System.Data.SQLite.TypeAffinity, System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="parameterDbTypeProperty" value="DbType"/>
--- 813,817 ----
<constructor-arg name="dataAdapterType" value="System.Data.SQLite.SQLiteDataAdapter , System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="commandBuilderType" value="System.Data.SQLite.SQLiteCommandBuilder, System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
! <constructor-arg name="commandBuilderDeriveParametersMethod" value="not supported"/>
<constructor-arg name="parameterDbType" value="System.Data.SQLite.TypeAffinity, System.Data.SQLite, Version=1.0.43.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="parameterDbTypeProperty" value="DbType"/>
***************
*** 824,828 ****
<constructor-arg name="dataAdapterType" value="System.Data.SQLite.SQLiteDataAdapter , System.Data.SQLite, Version=1.0.44.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="commandBuilderType" value="System.Data.SQLite.SQLiteCommandBuilder, System.Data.SQLite, Version=1.0.44.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
! <constructor-arg name="commandBuilderDeriveParametersMethod" value="DeriveParameters"/>
<constructor-arg name="parameterDbType" value="System.Data.SQLite.TypeAffinity, System.Data.SQLite, Version=1.0.44.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="parameterDbTypeProperty" value="DbType"/>
--- 859,863 ----
<constructor-arg name="dataAdapterType" value="System.Data.SQLite.SQLiteDataAdapter , System.Data.SQLite, Version=1.0.44.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="commandBuilderType" value="System.Data.SQLite.SQLiteCommandBuilder, System.Data.SQLite, Version=1.0.44.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
! <constructor-arg name="commandBuilderDeriveParametersMethod" value="not supported"/>
<constructor-arg name="parameterDbType" value="System.Data.SQLite.TypeAffinity, System.Data.SQLite, Version=1.0.44.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
<constructor-arg name="parameterDbTypeProperty" value="DbType"/>
Index: DbMetadata.cs
===================================================================
RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data/Data/Common/DbMetadata.cs,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** DbMetadata.cs 11 Oct 2007 14:52:13 -0000 1.12
--- DbMetadata.cs 21 Nov 2007 18:01:45 -0000 1.13
***************
*** 23,27 ****
using System;
using System.Reflection;
- using Spring.Data.Support;
using Spring.Util;
--- 23,26 ----
***************
*** 38,41 ****
--- 37,43 ----
{
#region Fields
+
+ private bool supportsDeriveParametersMethod = true;
+
private string productName;
private string assemblyName;
***************
*** 70,73 ****
--- 72,95 ----
#region Constructor (s)
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DbMetadata"/> class.
+ /// </summary>
+ /// <param name="productName">Name of the product.</param>
+ /// <param name="assemblyName">Name of the assembly.</param>
+ /// <param name="connectionType">Type of the connection.</param>
+ /// <param name="commandType">Type of the command.</param>
+ /// <param name="parameterType">Type of the parameter.</param>
+ /// <param name="dataAdapterType">Type of the data adapter.</param>
+ /// <param name="commandBuilderType">Type of the command builder.</param>
+ /// <param name="commandBuilderDeriveParametersMethod">The command builder derive parameters method.</param>
+ /// <param name="parameterDbType">Type of the parameter db.</param>
+ /// <param name="parameterDbTypeProperty">The parameter db type property.</param>
+ /// <param name="parameterIsNullableProperty">The parameter is nullable property.</param>
+ /// <param name="parameterNamePrefix">The parameter name prefix.</param>
+ /// <param name="exceptionType">Type of the exception.</param>
+ /// <param name="useParameterNamePrefixInParameterCollection">if set to <c>true</c> [use parameter name prefix in parameter collection].</param>
+ /// <param name="useParameterPrefixInSql">if set to <c>true</c> [use parameter prefix in SQL].</param>
+ /// <param name="bindByName">if set to <c>true</c> [bind by name].</param>
+ /// <param name="errorCodeExceptionExpression">The error code exception expression.</param>
public DbMetadata(string productName,
string assemblyName,
***************
*** 115,127 ****
//TODO consider support for derive parameters via a stored procedure.
! this.commandBuilderDeriveParametersMethod =
! ReflectionUtils.GetMethod(this.commandBuilderType, commandBuilderDeriveParametersMethod,
! new Type[] { this.commandType } );
- AssertUtils.ArgumentNotNull(this.commandBuilderDeriveParametersMethod, "commandBuilderDeriveParametersMethod", GetErrorMessage() +
- ", could not resolve commandBuilderDeriveParametersMethod " +
- commandBuilderDeriveParametersMethod +
- " to MethodInfo. Please check dbproviders.xml entry for correct metadata listing.");
-
this.commandType = commandType;
--- 137,158 ----
//TODO consider support for derive parameters via a stored procedure.
! if (commandBuilderDeriveParametersMethod.ToLower().Trim().Equals("not supported"))
! {
! supportsDeriveParametersMethod = false;
! }
!
! if (supportsDeriveParametersMethod)
! {
! this.commandBuilderDeriveParametersMethod =
! ReflectionUtils.GetMethod(this.commandBuilderType, commandBuilderDeriveParametersMethod,
! new Type[] {this.commandType});
!
! AssertUtils.ArgumentNotNull(this.commandBuilderDeriveParametersMethod,
! "commandBuilderDeriveParametersMethod", GetErrorMessage() +
! ", could not resolve commandBuilderDeriveParametersMethod " +
! commandBuilderDeriveParametersMethod +
! " to MethodInfo. Please check dbproviders.xml entry for correct metadata listing.");
! }
this.commandType = commandType;
***************
*** 168,171 ****
--- 199,208 ----
#region IDbMetadata Members
+ /// <summary>
+ /// Gets a value indicating whether to use param name prefix in parameter collection.
+ /// </summary>
+ /// <value>
+ /// <c>true</c> if should use param name prefix in parameter collection; otherwise, <c>false</c>.
+ /// </value>
public bool UseParamNamePrefixInParameterCollection
{
***************
*** 173,181 ****
}
public string AssemblyName
{
get { return assemblyName; }
}
!
public string ProductName
{
--- 210,228 ----
}
+ /// <summary>
+ /// Gets the name of the assembly.
+ /// </summary>
+ /// <example>Example: System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The name of the assembly.</value>
public string AssemblyName
{
get { return assemblyName; }
}
!
! /// <summary>
! /// Gets a descriptive name of the product.
! /// </summary>
! /// <example>Example: Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0</example>
! /// <value>The name of the product.</value>
public string ProductName
{
***************
*** 183,186 ****
--- 230,239 ----
}
+ /// <summary>
+ /// Gets the type of the connection. The fully qualified type name is given since some providers,
+ /// notably for SqlServerCe, do not use the same namespace for all data access types.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlCommand, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the connection.</value>
public Type ConnectionType
{
***************
*** 188,191 ****
--- 241,249 ----
}
+ /// <summary>
+ /// Gets the type of the command.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlCommand, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the command.</value>
public Type CommandType
{
***************
*** 193,196 ****
--- 251,259 ----
}
+ /// <summary>
+ /// Gets the type of the parameter.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlParameter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the parameter.</value>
public Type ParameterType
{
***************
*** 198,201 ****
--- 261,269 ----
}
+ /// <summary>
+ /// Gets the type of the data adapter.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlDataAdapter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the data adapter.</value>
public Type DataAdapterType
{
***************
*** 203,206 ****
--- 271,279 ----
}
+ /// <summary>
+ /// Gets the type of the command builder.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlCommandBuilder, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the command builder.</value>
public Type CommandBuilderType
{
***************
*** 208,216 ****
}
public MethodInfo CommandBuilderDeriveParametersMethod
{
! get { return commandBuilderDeriveParametersMethod; }
}
public string ParameterNamePrefix
{
--- 281,308 ----
}
+ /// <summary>
+ /// Gets the command builder derive parameters method.
+ /// </summary>
+ /// <remarks>If the value 'not supported' is specified then this method will throw an ArgumentException</remarks>
+ /// <example>Example: DeriveParameters</example>
+ /// <value>The command builder derive parameters method.</value>
public MethodInfo CommandBuilderDeriveParametersMethod
{
! get
! {
! if (supportsDeriveParametersMethod)
! {
! return commandBuilderDeriveParametersMethod;
! } else
! {
! throw new ArgumentException("This provider does not support the DeriveParameters functionality");
! }
! }
}
+ /// <summary>
+ /// Provide the prefix used to indentify named parameters in SQL text.
+ /// </summary>
+ /// <example>@ for Sql Server</example>
public string ParameterNamePrefix
{
***************
*** 218,221 ****
--- 310,318 ----
}
+ /// <summary>
+ /// Gets the type of the exception.
+ /// </summary>
+ /// <example>Example: System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the exception.</value>
public Type ExceptionType
{
***************
*** 223,226 ****
--- 320,332 ----
}
+ /// <summary>
+ /// Does the driver require the use of the parameter prefix when
+ /// specifying the name of the parameter in the Command's
+ /// Parameter collection.
+ /// </summary>
+ /// <value></value>
+ /// <remarks>If true, then commamd.Parameters["@parameterName"] is
+ /// used, otherwise, command.Parameters["parameterName"].
+ /// </remarks>
public bool UseParameterNamePrefixInParameterCollection
{
***************
*** 229,232 ****
--- 335,350 ----
+ /// <summary>
+ /// Gets a value indicating whether the Provider requires
+ /// the use of a named prefix in the SQL string.
+ /// </summary>
+ /// <value>
+ /// <c>true</c> if use parameter prefix in SQL; otherwise, <c>false</c>.
+ /// </value>
+ /// <remarks>
+ /// The OLE DB/ODBC .NET Provider does not support named parameters for
+ /// passing parameters to an SQL Statement or a stored procedure called
+ /// by an IDbCommand when CommandType is set to Text.
+ /// </remarks>
public bool UseParameterPrefixInSql
{
***************
*** 234,237 ****
--- 352,360 ----
}
+ /// <summary>
+ /// For providers that allow you to choose between binding parameters
+ /// to a command by name (true) or by position (false).
+ /// </summary>
+ /// <value></value>
public bool BindByName
{
***************
*** 240,243 ****
--- 363,371 ----
}
+ /// <summary>
+ /// Gets the type of the parameter db.
+ /// </summary>
+ /// <example>Example: System.Data.SqlDbType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</example>
+ /// <value>The type of the parameter db.</value>
public Type ParameterDbType
{
***************
*** 245,248 ****
--- 373,381 ----
}
+ /// <summary>
+ /// Gets the parameter db type property.
+ /// </summary>
+ /// <example>Example: SqlDbType for SqlServer</example>
+ /// <value>The parameter db type property.</value>
public PropertyInfo ParameterDbTypeProperty
{
***************
*** 250,253 ****
--- 383,391 ----
}
+ /// <summary>
+ /// Gets the parameter is nullable property.
+ /// </summary>
+ /// <example>Example: IsNullable for Sql Server</example>
+ /// <value>The parameter is nullable property.</value>
public PropertyInfo ParameterIsNullableProperty
{
***************
*** 255,258 ****
--- 393,401 ----
}
+ /// <summary>
+ /// Gets or sets the error codes.
+ /// </summary>
+ /// <remarks>The collection of error codes to map error code integer values to Spring's DAO exception hierarchy</remarks>
+ /// <value>The error codes.</value>
public ErrorCodes ErrorCodes
{
***************
*** 261,264 ****
--- 404,412 ----
}
+ /// <summary>
+ /// Gets the error code exception expression.
+ /// </summary>
+ /// <example>Example Errors[0].Number.ToString() for Sql Server </example>
+ /// <value>The error code exception expression.</value>
public string ErrorCodeExceptionExpression
{
|