Answer the question
In order to leave comments, you need to log in
How to get all children by id list?
I have a table with fields: Id, ParentId It is
necessary to implement multiple editing - that is, I change Id, and all ParentId changes. I wrote the following bad code:
static private IEnumerable<Guid> DeleteDepartmentsWithChildren(
IEnumerable<Guid> departmentIds,
DbSet<Department> departmentRepository )
{
var deletedDepartments = new List<Guid>();
foreach ( var i in departmentIds )
{
var departmentChildren = departmentRepository.Where( p => p.ParentDepartmentId == i ).ToList();
foreach ( var child in departmentChildren )
{
var deletedChildrenIds = DeleteDepartmentWithChildren( child.Id, currentOperatorId, departmentRepository );
child.MarkDeleted( currentOperatorId );
deletedDepartments.AddRange( deletedChildrenIds );
}
}
}
foreach ( var i in departmentIds )
var departmentChildren = departmentRepository.Where( p => p.ParentDepartmentId == i ).ToList();
Answer the question
In order to leave comments, you need to log in
did so
var departmentChildren = departmentRepository.Where(
dr => departmentIds.Contains( dr.ParentDepartmentId ) ).ToList();
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question