AutoMapper投影圆形参考对象时的堆栈溢出

时间:2017-01-30 18:20:55

标签: c# asp.net entity-framework automapper stack-overflow

我有以下课程及其dto:

public class Node
{
    public int NodeId { get; set; }
    public virtual ICollection<Node> ChildrenNode { get; set; }

    public virtual Node ParentNode { get; set; }
}

public class NodeDto
{
    public int NodeId { get; set; }
    public ICollection<NodeDto> ChildrenNode { get; set; }

    public NodeDto ParentNode { get; set; }
}

我的映射器很简单:

Mapper.CreateMap<Node, NodeDto>();

当我从IQueryable调用ProjectTo时,我得到一个StackOverflowException。我已经尝试了Mapper.CreateMap<Node, NodeDto>().MaxDepth(3)Mapper.CreateMap<Node, NodeDto>().PreserveReferences(),但这些都没有效果。

我可以做些什么来保持自我参考?

如果它有任何帮助,我需要从任何depht访问ParentNode和ChildrenNode,但在ParentNode中我不需要ChildrenNode。这样的事情:node.ParentNodenode.ChildrenNode[0].ChildrenNode,但不需要node.ParentNode.ChildrenNode;

0 个答案:

没有答案