public SQLNET InternalValue(SqlString keyString, Type type, object value)
{
var key = keyString.Value;
var item = Item;
var sqlnet = this;
SQLNETParallelItem parallelValue;
// CREATE a new SQLNET from the root
if (ValueParallel == 0)
{
sqlnet = new SQLNET {ValueSerializable = ValueSerializable, ValueParallel = item.GetNextCountAndAddParallel()};
parallelValue = item.AddParallelValue(sqlnet.ValueParallel);
}
else
{
parallelValue = item.GetParallelValue(sqlnet.ValueParallel);
}
if (!item.IsCompiled)
{
//parallelValue.ParameterValues[key] = value;
parallelValue.ParameterValues.Add(key, value);
// Try to add type only if it's not compiled yet
item.ParameterTypes.TryAdd(key, type);
}
else
{
// AddOrUpdate value
parallelValue.ParameterValues[key] = value;
}
return sqlnet;
}
}