Я в конце своего знания и погуглен для ответа также, но никакой удачи:/
Неделю назад все работало хорошо.
Я сделал возвращение на репозитории, воссоздал tableadapter, и т.д.... ничто не помогло.
Когда я пытаюсь сохранить в своем приложении, я получаю SystemInvalidCastException в этой точке:
PersonListDataSet.cs:
partial class P_GroupTableAdapter
{
public int Update(PersonListDataSet.P_GroupDataTable dataTable, string userId)
{
this.Adapter.InsertCommand.Parameters["@userId"].Value = userId;
this.Adapter.DeleteCommand.Parameters["@userId"].Value = userId;
this.Adapter.UpdateCommand.Parameters["@userId"].Value = userId;
return this.Update(dataTable); **<-- Exception occurs here**
}
}
Все застревает здесь, потому что Гуид - и я проверил, что предварительный просмотр таблицы данных с усилителем оснащает действительно, истинный Гуид в столбце таблицы данных - не может быть преобразован в строку??? Как это может произойти?
Все наоборот. Ваш userId - это строка, и вам нужно значение GUID для ваших параметров:
Parameters["@userId"].Value = new Guid(userId);
При условии, что UserId находится в одном из поддерживаемых форматов для GUID. Конструктор поддерживает множество форматов .
Редактировать на основе комментариев ниже:
Оказывается, вы спрашиваете, как запустить оператор select, например:
SELECT ....
WHERE '{BB6DFF45-FDA7-4155-86D0-0CBF129A9104}' = `domainname\\jondoe`
Я думаю, вам следует перепроверить свою модель данных и найти решение.
Вы пробовали:
this.Adapter.InsertCommand.Parameters["@userId"].Value = new Guid(userId);
this.Adapter.DeleteCommand.Parameters["@userId"].Value = new Guid(userId);
this.Adapter.UpdateCommand.Parameters["@userId"].Value = new Guid(userId);
Надеюсь, это поможет !!!