1

私の質問は、Google 検索の多くの質問に似ているかもしれませんが、特定のクエリがあります。私はこのようにコードを書きました。ここで、db はデータベースで、Items はファイル名を 1 つのプロパティとして持つテーブルです。

var query = from fs in dB.Items
              where fs.FilePath.Trim() == strOldpath.ToString()
              select fs;

                 foreach (var fs in query)
                 {
                    fs.FileName = txtrename.Text.ToString();                
                 }

                 try
                 {
                    dB.SubmitChanges();
                 }
                 catch (Exception e)
                 {

                 }

このコードは正常に実行されていますが、デバッグ後にエミュレーターを停止し、コマンド プロンプトで実行します。

ISETool.exe ts xd 19xxxx-b6f2-474b-a747-6axxxxxxx E:\Practise\WinPhone\PhoneApp3\

特定のフォルダーに *.sdf が作成され、それをサーバー エクスプローラーで開くことができます。しかし、更新された fileName の代わりに、古いファイル名が表示されていることがわかります。コードは正常に実行されています。ファイル名が更新されない理由はありますか? テーブルの主キーも設定しました。

4

1 に答える 1

0

読み取り専用クエリの結果を更新しようとすると、既知の問題が発生したようです。

LINQ to SQL エンティティ ID キャッシュとコンパイル済みクエリのバグの回避策

于 2013-03-25T12:27:47.417 に答える