Существует сообщение здесь, в котором спрашивается, как решить круговую опорную ошибку при возврате сериализованного объекта через EF4 CTP5. Я столкнулся с этой проблемой с проектом веб-форм WCF некоторое время назад.
Я смог "решить" эту проблему в моем проекте WCF/веб-форм и в моем проекте MVC3. Я не думаю, что это важно, какой тип проекта, как кажется, является "серией" сериализации EF.
Я решил проблему, отключив ProxyCreation в моем конструкторе ObjectContext следующим образом:
public class MyObjectContext : DbContext, IDbContext
{
public MyObjectContext(string connectionStringName) : base(connectionStringName)
{
((IObjectContextAdapter)this).ObjectContext.ContextOptions.ProxyCreationEnabled = false;
}
public DbSet<Product> Products {get;set;}
//etc.
}
Мой вопрос: может ли кто-нибудь объяснить, почему это, по-видимому, решит проблему?
Я думаю, что проблема связана с свойствами навигации в моем POCO, но после этого я в тупике. Спасибо.