删除实体后(未提交更改),我在将实体插入 linq 时遇到问题。
List<AlergiesPerPersonBE> AlergiesPerPerson = AlergiesPerPersonToInsert;
RepositoryFactory.GetAlergiesPerPersonRepository().DeleteWhere(x => x.PersonId == id);
RepositoryFactory.GetAlergiesPerPersonRepository().Insert(AlergiesPerPerson);
DataContextFactory.SubmitChanges();
两者(删除和插入)都不提交任何更改。他们只是InsertAllOnSubmit 和DeleteAllOnSumbit。
代码第一次运行良好。所有细节均已正确插入。我第二次运行相同的代码时,数据库的所有行都被删除。第三次,一切正常。它有效,然后无效,依此类推。
最佳答案
尝试
...DeleteWhere(x => x.PersonId == id);
DataContextFactory.SubmitChanges();
...Insert(AlergiesPerPerson);
DataContextFactory.SubmitChanges();
没有理由每个工作单元只需提交一次更改。请注意,这仍然适用于您拥有的任何交易。
关于linq - 如何在 linq 中删除和重新插入实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5072447/