2014-03-13 77 views
2

我有一个名为'target'的模型,由具有收集地址的entityframework收回。从收集实体框架中删除项目

在删除所有不在另一个集合中的项目之后,我正在保存我的实体框架上下文。

但是,当检查我的数据库时记录仍然存在。虽然我的linq代码确保从集合中删除项目。

这里是我的LINQ代码:

using (IUnitOfWork uow = _uow.CreateUnitOfWork()) 
{ 
    var target = _repository.GetByBron(uow, bron.BronId); 
    target.Adressen.RemoveAll(x => source.Adressen.All(y => !y.Equals(x))); 

    //Which calls Context.SaveChanges(); inside the unit of work class 
    uow.Save(_logger); 
}  

更新:这个问题不从集合删除我的纪录。当我打电话给上下文保存时。我的数据库中的关系记录仍然存在......没有任何东西被删除...... aldo它从集合中删除。

已解决 我现在直接从上下文中删除它。 (带有独立的存储库对象)

+0

你在调用'SaveChanges()'吗? –

+0

“target.Adressen”的类型是什么? 'RemoveAll'只是从集合中删除项目,还是在那个方法中调用了底层存储库上的'Remove'? –

+0

请发布代码(据推测)从数据库删除记录使用EF。 –

回答