1

我有一个 ASP.NET MVC 应用程序。我使用 EF 5.0 将数据持久保存在 SQL Server CE 类型的数据库中。我已经安装了 SqlServerCe.Enitity NuGet 包。我可以使用 Linq 和我的模型对象成功处理对数据库记录的创建、读取和更新操作。但是由于某些原因,我无法从数据库中删除任何记录。对象在模型级别被删除,但更改没有被持久化在数据库中。可能是什么原因造成的?

这是我删除记录的方法:

var files = context.Files.ToList();
files.RemoveAll(x => x.Name == "test");
context.SaveChanges();

这是我的连接字符串:

<add name="DefaultConnection" connectionString="Data Source=C:\SLG PROJECTS\BACKUPS CHECK SYSTEM\Data\aspnet.sdf" providerName="System.Data.SqlServerCe.4.0" />
4

1 回答 1

1

试试这个:

context.Files.Where(x => x.Name == "test").ToList()
.ForEach( f => context.Files.Remove(f));

context.SaveChanges();

RemoveAll 可能未编译为 SQL,也未在 SQL Server 中执行。

于 2013-10-14T09:20:04.457 回答