Jor*_*uns 4 c# linq-to-entities entity-framework-4
我有一个名为'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);
}
Run Code Online (Sandbox Code Playgroud)
更新:问题不是从集合中删除我的记录.当我在上下文中调用save时.我的数据库中的关系记录仍然存在...没有删除任何内容... aldo它已从集合中删除.
解决了 我现在直接从上下文中删除它.(使用单独的存储库对象)
Dan*_*anS 10
这非常依赖于关系的配置.请参阅实体框架.Remove()与.DeleteObject()
由于你的关系听起来很多,你可能需要为地址本身调用DeleteObject,因为EF不会自动删除孤立的记录.