Commit bf6404f5 authored by Nick Craver's avatar Nick Craver

Merge #207 into latest master

parents c2ed1f40 adf39686
...@@ -2794,37 +2794,40 @@ public static void PackListParameters(IDbCommand command, string namePrefix, obj ...@@ -2794,37 +2794,40 @@ public static void PackListParameters(IDbCommand command, string namePrefix, obj
var count = 0; var count = 0;
bool isString = value is IEnumerable<string>; bool isString = value is IEnumerable<string>;
bool isDbString = value is IEnumerable<DbString>; bool isDbString = value is IEnumerable<DbString>;
DbType dbType = 0; DbType dbType = 0;
foreach (var item in list) if (list != null)
{ {
if (count++ == 0) foreach (var item in list)
{ {
ITypeHandler handler; if (count++ == 0)
dbType = LookupDbType(item.GetType(), "", true, out handler);
}
var listParam = command.CreateParameter();
listParam.ParameterName = namePrefix + count;
if (isString)
{
listParam.Size = DbString.DefaultLength;
if (item != null && ((string)item).Length > DbString.DefaultLength)
{ {
listParam.Size = -1; ITypeHandler handler;
dbType = LookupDbType(item.GetType(), "", true, out handler);
} }
} var listParam = command.CreateParameter();
if (isDbString && item as DbString != null) listParam.ParameterName = namePrefix + count;
{ if (isString)
var str = item as DbString; {
str.AddParameter(command, listParam.ParameterName); listParam.Size = DbString.DefaultLength;
} if (item != null && ((string) item).Length > DbString.DefaultLength)
else {
{ listParam.Size = -1;
listParam.Value = SanitizeParameterValue(item); }
if (listParam.DbType != dbType) }
if (isDbString && item as DbString != null)
{
var str = item as DbString;
str.AddParameter(command, listParam.ParameterName);
}
else
{ {
listParam.DbType = dbType; listParam.Value = SanitizeParameterValue(item);
if (listParam.DbType != dbType)
{
listParam.DbType = dbType;
}
command.Parameters.Add(listParam);
} }
command.Parameters.Add(listParam);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment