2

如果我有一个没有 EnabledDelete、EnabledUpdate、EnabledInsert 的 LinqDataSource,它可以正常工作,但是一旦我将这些属性添加到数据源,我就会收到错误消息:

没有为此对象定义无参数构造函数。

4

2 回答 2

1

如错误所示,您需要为该类提供一个无参数构造函数。

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

当需要自动创建类的实例时,系统需要一个无参数的构造函数。它无法确定其他构造函数的参数含义,因此它取决于此构造函数。

即使您的构造函数什么都不做,它仍然可以工作,尽管您可能希望它为您的类属性提供有用的默认值。

于 2010-02-18T16:37:05.000 回答
1

这是帮助我从 MSDN 论坛解决问题的答案

LinqDataSource 需要 DataContext 上的默认构造函数。如果您在 Web 应用程序或网站项目中工作,当您将表从数据库拖到设计图面上时,Linq to SQL 设计器应该已经为您创建了默认构造函数和连接字符串。

您是否创建了 DataContext 并将表格从 web 应用程序或网站项目拖到设计图面上?打开生成的 Lib.NorthwindDataContext 类,看看它是否有默认构造函数。

如果你真的想要,你也可以通过处理 ContextCreating 事件并提供你自己的上下文实例来使用没有默认构造函数的 LinqDataSource。

于 2010-10-12T11:44:52.223 回答