2013-10-14 91 views
1

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

这是我的方法来删除记录:

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" /> 

回答

1

试试这个:

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

context.SaveChanges(); 

的removeall过可能无法编译为SQL和没有在SQL Server中执行。

+0

非常感谢! – Bartosz

+0

另外,EF6有一个新的RemoveRange方法 – ErikEJ

相关问题