using System.Collections.Generic;
using System.Runtime.Serialization;
this.SubForums = new List<Forum>();
public Guid ID { get; set; }
public string Nome { get; set; }
public Guid? ParentID { get; set; }
public virtual Forum Parent { get; set; }
public virtual ICollection<Forum> SubForums { get; set; }
public Guid ID { get; set; }
public string Nome { get; set; }
public Guid? ParentID { get; set; }
public ForumDTO Parent { get; set; }
public IList<ForumDTO> SubForums { get; set; }
public static List<Forum> CriarForums(ref List<Forum> lista, Forum parent = null, int? hieraquia = 0)
var forums = new List<Forum>();
for (int indice = 0; indice < 3; indice++)
forum.ID = Guid.NewGuid();
forum.Nome = Faker.NameFaker.Name();
if (parent != default(Forum))
forum.ParentID = parent.ID;
forum.SubForums = Program.CriarForums(ref lista, forum, hieraquia + 1);
public static void Main()
Mapper.CreateMap<Forum, ForumDTO>();
var forums = new List<Forum>();
where !forum.ParentID.HasValue
select Mapper.Map<ForumDTO>(forum)
var jsonSettings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects };
Console.WriteLine(JsonConvert.SerializeObject(dto, Formatting.Indented, jsonSettings));