2009-10-20 11 views
6

GridViewコントロールの[削除]ボタン/リンクをクリックするとこのエラーが発生します。削除、挿入、または更新操作が有効な場合、LinqDataSourceはSelectプロパティをサポートしません。

LinqDataSourceコントロール[データソース]は 削除、挿入または更新操作が

を有効にしているとき、私はすでに持っているので、私はこのエラーを取得していますなぜ私は本当に理解していないを選択しプロパティをサポートしていません。私のサイトの別のWebページで同じことをしましたが、その場合にデータが読み込まれるテーブルには、外部キーはありません。それで私はエラーを受けているのですか?

AutoGenerateDeleteButtonプロパティはTrueに設定されており、linqdatasourceを使用してデータベースからデータを取得しています。

任意の入力いただければ幸いです:)

答えて

11

最後に、私は、すべてのデータを選択しなければならなかった(データソースウィザードで*オプションを使用して)、その後、私は中に表示したくなかった列を削除GridView。これは少し非効率かもしれませんが、うまくいきました。

1

この問題に直面し、解決策と説明を他の場所で見つけました。

Selectステートメントは、削除/更新/挿入ステートメントをLinqDataSourceによって生成する必要がある場合にマップされない匿名型になります。ソーステーブル(linq)は、データベース操作のメタデータを生成するために使用されます。

データソース内のすべての列を取得する必要がある場合、パフォーマンスの低下が少なくて済みますが、バックグラウンドで何らかの作業が行われるようになります。私は好きです。

GridViewを使用する場合は、DataKeyNamesプロパティをデータソースのプライマリキーに指定する必要があります。

クリスタルクリア! ;)

0

確かに、問題は、データソース設定にプライマリキーを含め、次にこのプライマリキーを非表示にする必要があることです。

関連する問題