diff --git a/AmalgamationTool/DynamORM.Amalgamation.cs b/AmalgamationTool/DynamORM.Amalgamation.cs
index d6ec2b2..0a8c80b 100644
--- a/AmalgamationTool/DynamORM.Amalgamation.cs
+++ b/AmalgamationTool/DynamORM.Amalgamation.cs
@@ -2916,7 +2916,7 @@ namespace DynamORM
/// Command containing query to execute.
/// List of objects .
/// If your database doesn't get those values in upper case (like most of the databases) you should override this method.
- protected virtual IEnumerable ReadSchema(IDbCommand cmd)
+ public virtual IEnumerable ReadSchema(IDbCommand cmd)
{
DataTable st = null;
@@ -5399,12 +5399,12 @@ namespace DynamORM
cmd.AddParameter(
_db.GetParameterName(paramName), dcv.ParameterDirection,
ds.Type, ds.Size, ds.Precision, ds.Scale,
- isOut ? DBNull.Value : arg);
+ isOut ? DBNull.Value : dcv.Value);
}
else
cmd.AddParameter(
_db.GetParameterName(paramName), dcv.ParameterDirection,
- arg == null ? DbType.String : arg.GetType().ToDbType(), 0, isOut ? DBNull.Value : arg);
+ arg == null ? DbType.String : arg.GetType().ToDbType(), 0, isOut ? DBNull.Value : dcv.Value);
}
else
{
diff --git a/DynamORM/DynamicDatabase.cs b/DynamORM/DynamicDatabase.cs
index 24a3158..010fb85 100644
--- a/DynamORM/DynamicDatabase.cs
+++ b/DynamORM/DynamicDatabase.cs
@@ -252,9 +252,9 @@ namespace DynamORM
#endif
}
-#endregion Properties and Constructors
+ #endregion Properties and Constructors
-#region Table
+ #region Table
#if !DYNAMORM_OMMIT_OLDSYNTAX
@@ -329,7 +329,7 @@ namespace DynamORM
#endif
-#endregion Table
+ #endregion Table
/// Adds cached builder.
/// New dynamic builder.
@@ -347,7 +347,7 @@ namespace DynamORM
RemainingBuilders.Remove(builder);
}
-#region From/Insert/Update/Delete
+ #region From/Insert/Update/Delete
///
/// Adds to the FROM clause the contents obtained by parsing the dynamic lambda expressions given. The supported
@@ -630,7 +630,7 @@ namespace DynamORM
{
try
{
-#region Update
+ #region Update
Dictionary parametersUp = new Dictionary();
@@ -653,9 +653,9 @@ namespace DynamORM
else
PrepareBatchUpdate(t, mapper, cmdUp, parametersUp);
-#endregion Update
+ #endregion Update
-#region Insert
+ #region Insert
Dictionary parametersIn = new Dictionary();
@@ -678,7 +678,7 @@ namespace DynamORM
else
PrepareBatchInsert(t, mapper, cmdIn, parametersIn);
-#endregion Insert
+ #endregion Insert
foreach (var o in e)
{
@@ -1023,9 +1023,9 @@ namespace DynamORM
mapper.DeleteCommandText = cmd.CommandText;
}
-#endregion From/Insert/Update/Delete
+ #endregion From/Insert/Update/Delete
-#region Procedure
+ #region Procedure
/// Execute stored procedure.
/// Name of stored procedure to execute.
@@ -1092,9 +1092,9 @@ namespace DynamORM
}
}
-#endregion Procedure
+ #endregion Procedure
-#region Execute
+ #region Execute
/// Execute non query.
/// SQL query containing numbered parameters in format provided by
@@ -1151,9 +1151,9 @@ namespace DynamORM
return ret;
}
-#endregion Execute
+ #endregion Execute
-#region Scalar
+ #region Scalar
/// Returns a single result.
/// SQL query containing numbered parameters in format provided by
@@ -1224,9 +1224,9 @@ namespace DynamORM
#endif
-#endregion Scalar
+ #endregion Scalar
-#region Query
+ #region Query
/// Enumerate the reader and yield the result.
/// SQL query containing numbered parameters in format provided by
@@ -1308,9 +1308,9 @@ namespace DynamORM
}
}
-#endregion Query
+ #endregion Query
-#region Schema
+ #region Schema
/// Builds query cache if necessary and returns it.
/// The builder containing query to read schema from.
@@ -1453,7 +1453,7 @@ namespace DynamORM
/// Command containing query to execute.
/// List of objects .
/// If your database doesn't get those values in upper case (like most of the databases) you should override this method.
- protected virtual IEnumerable ReadSchema(IDbCommand cmd)
+ public virtual IEnumerable ReadSchema(IDbCommand cmd)
{
DataTable st = null;
@@ -1521,7 +1521,7 @@ namespace DynamORM
(Options & DynamicDatabaseOptions.SupportSchema) == DynamicDatabaseOptions.SupportSchema;
bool mapperSchema = mapper != null && mapper.Table != null && (mapper.Table.Override || !databaseSchemaSupport);
-#region Database schema
+ #region Database schema
if (databaseSchemaSupport && !Schema.ContainsKey(tableName.ToLower()))
{
@@ -1533,9 +1533,9 @@ namespace DynamORM
Schema[tableName.ToLower()] = schema;
}
-#endregion Database schema
+ #endregion Database schema
-#region Type schema
+ #region Type schema
if ((mapperSchema && !Schema.ContainsKey(mapper.Type.FullName)) ||
(schema == null && mapper != null && !mapper.Type.IsAnonymous()))
@@ -1543,7 +1543,7 @@ namespace DynamORM
// TODO: Ged rid of this monster below...
if (databaseSchemaSupport)
{
-#region Merge with db schema
+ #region Merge with db schema
schema = mapper.ColumnsMap.ToDictionary(k => k.Key, (v) =>
{
@@ -1579,11 +1579,11 @@ namespace DynamORM
};
});
-#endregion Merge with db schema
+ #endregion Merge with db schema
}
else
{
-#region MapEnumerable based only on type
+ #region MapEnumerable based only on type
schema = mapper.ColumnsMap.ToDictionary(k => k.Key,
v => new DynamicSchemaColumn
@@ -1598,21 +1598,21 @@ namespace DynamORM
Scale = DynamicExtensions.CoalesceNullable(v.Value.Column != null ? v.Value.Column.Scale : null, 0).Value,
});
-#endregion MapEnumerable based only on type
+ #endregion MapEnumerable based only on type
}
}
if (mapper != null && schema != null)
Schema[mapper.Type.FullName] = schema;
-#endregion Type schema
+ #endregion Type schema
return schema;
}
-#endregion Schema
+ #endregion Schema
-#region Decorators
+ #region Decorators
/// Gets or sets left side decorator for database objects.
public string LeftDecorator
@@ -1701,9 +1701,9 @@ namespace DynamORM
cmd.Dump(Console.Out);
}
-#endregion Decorators
+ #endregion Decorators
-#region Connection
+ #region Connection
/// Open managed connection.
/// Opened connection.
@@ -1809,9 +1809,9 @@ namespace DynamORM
.ExecuteNonQuery();
}
-#endregion Connection
+ #endregion Connection
-#region Transaction
+ #region Transaction
/// Begins a global database transaction.
/// Using this method connection is set to single open
@@ -1873,9 +1873,9 @@ namespace DynamORM
});
}
-#endregion Transaction
+ #endregion Transaction
-#region IExtendedDisposable Members
+ #region IExtendedDisposable Members
/// Performs application-defined tasks associated with freeing,
/// releasing, or resetting unmanaged resources.
@@ -1944,6 +1944,6 @@ namespace DynamORM
/// Gets a value indicating whether this instance is disposed.
public bool IsDisposed { get; private set; }
-#endregion IExtendedDisposable Members
+ #endregion IExtendedDisposable Members
}
}
\ No newline at end of file
diff --git a/DynamORM/DynamicProcedureInvoker.cs b/DynamORM/DynamicProcedureInvoker.cs
index 1f10840..379f8f7 100644
--- a/DynamORM/DynamicProcedureInvoker.cs
+++ b/DynamORM/DynamicProcedureInvoker.cs
@@ -138,11 +138,11 @@ namespace DynamORM
cmd.AddParameter(
_db.GetParameterName(paramName), dcv.ParameterDirection,
ds.Type, ds.Size, ds.Precision, ds.Scale,
- isOut ? DBNull.Value : arg);
+ isOut ? DBNull.Value : dcv.Value);
} else
cmd.AddParameter(
_db.GetParameterName(paramName), dcv.ParameterDirection,
- arg == null ? DbType.String : arg.GetType().ToDbType(), 0, isOut ? DBNull.Value : arg);
+ arg == null ? DbType.String : arg.GetType().ToDbType(), 0, isOut ? DBNull.Value : dcv.Value);
}
else
{
diff --git a/Tester/Program.cs b/Tester/Program.cs
index e8da889..2e703eb 100644
--- a/Tester/Program.cs
+++ b/Tester/Program.cs
@@ -20,6 +20,7 @@ namespace Tester
//// "Data Source=test.db3;",
//// DynamORM.DynamicDatabaseOptions.SingleConnection | DynamORM.DynamicDatabaseOptions.SingleTransaction |
//// DynamORM.DynamicDatabaseOptions.SupportSchema | DynamORM.DynamicDatabaseOptions.SupportLimitOffset);
+ ///
}
private static void Main(string[] args)