启用“删除”,“插入”或“更新”操作时,LinqDataSource不支持Select属性

时间:2009-10-20 09:53:25

标签: gridview linqdatasource

点击GridView控件中的删除按钮/链接时出现此错误。

  

LinqDataSource [DataSource]不支持Select属性   删除,插入或更新操作已启用

我真的不明白为什么我收到此错误,因为我已经在我的网站的不同网页上做了同样的事情,但是在这种情况下从中读取数据的表没有任何外键,这一个。这就是我收到错误的原因吗?

如果重要,AutoGenerateDeleteButton属性设置为True,我使用linqdatasource从数据库中检索数据。

任何意见都将受到赞赏:)

3 个答案:

答案 0 :(得分:11)

最后我必须选择所有数据(使用DataSource向导中的*选项),然后删除我不希望在GridView中显示的列。这可能效率不高,但它确实有效。

答案 1 :(得分:1)

刚遇到这个问题,并在其他地方找到了解决方案和解释。

当LinqDataSource生成Delete / Update / Insert语句时,Select语句会导致可能无法映射的匿名类型。源表(linq)用于生成数据库操作的元数据。

当需要检索数据源中的所有列时,我们将不得不承受小的性能损失,但在后台完成一些工作。我喜欢。

并且,如果使用GridView,则需要将DataKeyNames属性指定为数据源的主键。

水晶般清澈!? ;)

答案 2 :(得分:0)

当然,问题是您必须在数据源配置中包含主键,然后将此主键标记为不可见。

相关问题