0

私のSTEは非常にうまく機能し、asp.net gridviewで使用する場合を除いて、Webフォーム上のテキストボックス、メモなどの個々のコントロールで変更を追跡します。更新時に Gridview を使用すると、STE の状態として常に「追加済み」と表示されます。

私の問題の解決策はありますか?

4

2 に答える 2

0

はい。updateメソッドに渡されるオブジェクトはDBから照会されず、インスタンス化されるためです。できることは、エンティティをコンテキストにアタッチすることです。これでこの問題は解決します。

HTH。

于 2011-07-12T13:11:13.097 に答える
0

GridView も ObjectDataSource も、要求間でエンティティを保持しません。GridView でデータ変更イベントをトリガーすると、オブジェクトの新しいインスタンスが作成されます。グリッドを埋めるために使用したエンティティとは異なります - それらのインスタンスは失われます。

ところで。Web アプリケーションで STE を使用し、リクエスト間でエンティティを格納することは、おそらく私が想像できる最悪の使用方法です。誰もが Web アプリのメモリ フットプリントと、クライアントとサーバー間の転送データ量を削減しようとしていますが、あなたは正反対の方向に向かっています。

于 2011-07-12T13:15:56.623 に答える