Как получить Entity Framework для обновления сложных типов?

Я использую Entity Framework (EF) для создания сложного типа из хранимой процедуры. и я хочу создать еще один экземпляр CMyClass внутри CMyClass :: MemberFunc .

void CMyClass::MemberFunc( void )
{
    CMyClass * pMyClass = new CMyClass();
}

Это законно / безопасно? Я знаю, что это компилируется. Меня беспокоит рекурсия. Могу ли я столкнуться с ошибкой рекурсии при создании экземпляра CMyClass в первый раз из основного приложения?

void main( void )
{
    static CMyClass * s_pMyClass = new CMyClass(); // Will this cause recursion?
}

Или рекурсия будет происходить только в том случае, если вызывается конкретная функция-член с дополнительным экземпляром класса?

void CMyClass::MemberFunc( void )
{
    CMyClass * pMyClass = new CMyClass();
    pMyClass->MemberFunc(); // Pretty sure this will cause a recursive loop.
}

Другими словами, могу ли я безопасно создать экземпляр данного класса в функции-члене этого класса, если я не вызываю эту функцию-член второго экземпляра этого класса? Спасибо.

5
задан Jim Fell 12 May 2011 в 18:11
поделиться