Я нашел решение и обмена для тех, кто приходит за мной в будущем.
Чтобы заменить имена параметров, вам необходимо переопределить метод обновления objectdatasource. Это возможно только в том случае, если свойство objectypename объекта objectatatource не установлено, иначе они будут считаны только для чтения.
Вот мой пример:
protected void ObjectDataSource1_Updating(object sender, ObjectDataSourceMethodEventArgs e)
{
foreach (string currentKey in e.InputParameters.Keys)
{
if (currentKey.Contains("."))
{
string newKey = currentKey.Replace(".", "_");
object myValue = null;
if (e.InputParameters[currentKey] != null)
myValue = e.InputParameters[newKey];
if (e.InputParameters.Contains(newKey))
e.InputParameters.Remove(newKey);
e.InputParameters.Add(newKey, myValue);
e.InputParameters.Remove(currentKey);
}
}
Другое дело, не следует изменять коллекцию в foreach, чтобы ее можно было зафиксировать. –