StackOverflowException, сериализующий сущность .netTiers

У меня есть простой сервис WCF:

public Order[] GetOrdersByStatus(int statusid)
{
    OrderService os = new OrderService();
    TList<Order> orders = os.GetByOrderStateID(statusid);

    return orders.ToArray();
}

когда это возвращает, он генерирует исключение StackOverflowException в mscorlib. Есть идеи, что может быть причиной этого?

OrderService - это сгенерированная служба NetTiers, а Order - объект сущности NetTiers. когда я возвращаю данные уже извлечены из базы данных и готовы к работе. Что, кроме ошибки в WCF, может вызвать исключение StackOverflowException после того, как я вернусь из своей работы?

12.12.2008 02:16:18
Да, это очень верно, честно говоря, я даже не смотрел на реализацию сущностей NetTiers. Возможно, проблема в этом, я просто предположил, что объекты NetTiers были бы использованы таким образом и генерировали бы достойный код.
joshperry 12.12.2008 06:47:43
1 ОТВЕТ
РЕШЕНИЕ

Если реализация сериализации типа «Порядок» плохая, это может быть так.

3
12.12.2008 02:27:00
Сгенерированные сущности .netTiers имеют ключ сущности. Этот ключ сущности имеет свойство, которое указывает на его родителя, но это свойство не помечено как [XmlIgnore] или [NonSerialized]. При сериализации объекта он создает цикл, и сериализация уничтожает стек. Спасибо за помощь.
joshperry 12.12.2008 18:37:01