You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When mapping objects with circular references, a stackoverflow exception will result. This is because Mapster will get stuck in a loop trying to recursively map the circular reference. If you would like to map circular references or preserve references (such as 2 properties pointing to the same object), you can do it by setting PreserveReference to true
NOTE: you might need to use MaxDepth. PreserveReference doesn't support EF Query (ProjectTo)
MaxDepth
Rather than PreserveReference, you could also try MaxDepth. MaxDepth will map until it reaches the defined limit. Unlike PreserveReference, MaxDepth also works with queryable projection.
NOTE 1: MaxDepth starts with 1, means you will copy only primitives. POCO class and collection of POCO each count as a depth of 1.
NOTE 2: even MaxDepth has no maximum value, you shouldn't input large number. Each depth will generate a mapping logic, otherwise it will consume a lot of memory.
Shallow copy
By default, Mapster will recursively map nested objects. You can do shallow copying by setting ShallowCopyForSameType to true.