进一步提问EF 能否自动删除未删除父项的孤立数据?
我检查了解决方案,正如@Ladislav 在这里建议的那样 https://stackoverflow.com/a/10838228/54801 不幸的是,我注意到该解决方案部分有效。
如果我们采用以下代码:
for (int k = 0; k < 2; k++)
{
var parentObject= _context.Parents.Get(1704);
parentObject.ChildObjects.Clear();
var childObject= _context.ChildObjects.Get(1000*k /*diffrent child for each iteration*/ );
parentObject.ChildObjects.Add(childObject);
_context.Commit();
}
第一次迭代(k=0)进行删除。但第二次迭代不会删除!
有没有人有解决这个问题的办法?
该问题可以“解决”,如下所示:
if(k == 1)
{
foreach (var project in tender.TenderProjects)
{
_context.Projects.Remove(project);
}
}
但这绝对不是理想的我希望我的服务脱离任何 ORM 逻辑..
编辑:
迭代只是真实场景的一个例子。真实场景,用户可以添加父实体的第一个子实体。保存数据并再次删除第一个孩子并在他的位置添加另外两个孩子