Я использую ObjectDataSource для выполнения операций CRUD. По какой-то причине я получаю "ObjectDataSource 'ObjectDataSource1' не имеет значений для вставки. Проверьте, что словарь 'values' содержит значения."
Есть предложения?
Я понимаю, что этот элемент управления наследуется от элемента управления ObjectDataSource. Согласно документации http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.insertmethod.aspx
Если установлено свойство DataObjectTypeName, метод разрешается другим способом. ObjectDataSource ищет метод с именем, указанным в свойстве InsertMethod, которое принимает один параметр типа, указанного в свойстве DataObjectTypeName.
Так настроен мой элемент управления ObjectDataSource.
<asp: ObjectDataSource ID="ObjectDataSource1" runat="server"
DataObjectTypeName="MyApplication.Entities.Domain.MyObject" ConflictDetection="CompareAllValues"
OldValuesParameterFormatString="original{0}" SelectMethod="GetUserDisplays"
InsertMethod="CreateMyObject" UpdateMethod="UpdateMyObject" DeleteMethod="DeleteDisplay">
</asp:ObjectDataSource>
Я установил точку останова на InsertMethod, но приложение даже не поразило его, когда я пытаюсь сохранить свою форму. Я подозреваю, что DataObjectType по какой-то причине не создается должным образом.
Я пытаюсь выполнить операцию вставки в EditForm элемента управления ASPxGridview, а DataObjectType является EOC POCO, в котором есть некоторые дополнительные свойства (помеченные как виртуальные) для загрузки связанных сущностей из ObjectContext. Я думаю, что это может быть проблемой, но не знаю, как это исправить (смотрел везде !!!).
Любая помощь будет принята с благодарностью!