Для этого объекта не определен конструктор без параметров при установке EnabledDelete = true на LinqDataSource - PullRequest
2 голосов
/ 18 февраля 2010

Если у меня есть LinqDataSource без EnabledDelete, EnabledUpdate, EnabledInsert, он работает нормально, но как только я добавляю эти свойства в источник данных, я получаю ошибку:

Для этого объекта не определен конструктор без параметров.

Ответы [ 2 ]

1 голос
/ 12 октября 2010

Вот ответ , который помог мне решить проблему с форумов MSDN:

LinqDataSource требует конструктор по умолчанию для DataContext. Если вы работаете в веб-приложении или проекте веб-сайта, дизайнер Linq to SQL должен был создать для вас конструктор по умолчанию и строку подключения, когда вы перетаскивали таблицы из базы данных на поверхность разработки.

Вы создали свой DataContext и перетащили таблицы на поверхность дизайна из веб-приложения или веб-проекта? Откройте созданный класс Lib.NorthwindDataContext и посмотрите, есть ли у него конструктор по умолчанию.

Если вы действительно хотите, вы также можете использовать LinqDataSource без конструктора по умолчанию, обработав событие ContextCreating и предоставив свой собственный экземпляр контекста.

1 голос
/ 18 февраля 2010

Как показывает ошибка, вам нужно предоставить конструктор без параметров для класса.

public class MyClass
 {
   public MyClass()
   {
     // This is the parameterless constructor
   }
   // rest of the class members goes here.
  } 

Системе требуется конструктор без параметров, когда требуется автоматически создавать экземпляры класса. Он не может определить значение параметров других ваших конструкторов, поэтому он зависит от этого конструктора.

Даже если ваш конструктор ничего не делает, он все равно будет работать, хотя вы можете захотеть предоставить полезные значения по умолчанию для свойств вашего класса.

...