1

我的问题可能与谷歌搜索中的许多问题相似,但我有一些具体的查询。我已经编写了这样的代码,其中 db 是数据库,Items 是具有文件名作为一个属性的表。

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,我可以在服务器资源管理器中打开它。但我可以看到,它显示的不是更新的文件名,而是旧的文件名。代码运行良好。为什么文件名没有更新有什么帮助吗?我也为表设置了主键。

4

1 回答 1

0

您似乎在尝试更新只读查询的结果时遇到了一个已知问题:

LINQ to SQL 实体身份缓存和编译查询错误的解决方法?

于 2013-03-25T12:27:47.417 回答