private static async Task CreateCheckList(MicrotingDbContext sdkDbContext, CheckList checkList, int?parentId = null) { checkList.ParentId = parentId; var children = checkList.Children.ToList(); var fields = checkList.Fields.ToList(); checkList.Children = new List <CheckList>(); checkList.Fields = new List <Microting.eForm.Infrastructure.Data.Entities.Field>(); await checkList.Create(sdkDbContext); await CreateFields(checkList.Id, sdkDbContext, fields); foreach (var childCheckList in children) { await CreateCheckList(sdkDbContext, childCheckList, checkList.Id); } }