Ну, у меня есть это:
Совет:
public class Board
{
public int BoardID { get; set; }
public string BoardName { get; set; }
public string BoardDescription { get; set; }
public int PostCount { get; set; }
public int TopicCount { get; set; }
public bool IsVisibile { get; set; }
public Forum BelongToForum { get; set; }
public List<Board> Boards { get; set; }
public List<Topic> Topics { get; set; }
}
И Форум:
public class Forum
{
public int ForumID { get; set; }
public string ForumName { get; set; }
public string ForumDescription { get; set; }
public List<Board> Boards { get; set; }
}
И способ получения форумов с досками:
public List<Forum> GetForums()
{
List<Forum> forums = new List<Forum>();
_ctx = new ForumContext();
forums = (from p in _ctx.Forums
select p).ToList();
List<Forum> returnForm = new List<Forum>();
foreach(Forum forum in forums)
{
List<Board> board = (from x in _ctx.Boards
where x.BelongToForum.ForumID == forum.ForumID
select x).ToList();
forum.Boards = board;
returnForm.Add(forum);
}
return returnForm;
}
Работает как положено. Но, как вы видите, я использую три списка и цикл foreach. Это выглядит не очень хорошо для меня. Итак, у меня есть вопрос, есть ли другой способ заставить его работать?
Думаю, мне следует создать другой модельный класс, который будет собирать необходимые данные из соединения или что-то в этом роде.
Но что я хочу спросить, есть ли другие способы сделать это?