public Models.Board GetBoardAndLists(int boardId) { var readers = Sql.PopulateMultiple( "Board_GetLists", new Dictionary <string, object>() { { "boardId", boardId } } ); var boards = readers.Read <Models.Board>().ToList(); var lists = readers.Read <Models.List>().ToList(); var cards = readers.Read <Models.Card>().ToList(); for (var x = 0; x < boards.Count; x++) { boards[x].lists = new List <Models.List>(); for (var y = 0; y < lists.Count; y++) { lists[y].cards = cards.Where((a) => { return(a.listId == lists[y].listId); }).ToList(); boards[x].lists.Add(lists[y]); } } Sql.EndQuery(); return(boards[0]); }