EF4 Cast DynamicProxies to underlying object

petey picture petey · Jan 9, 2011 · Viewed 9.6k times · Source

I'm using Entity Framework 4 with POCO template.

I have a List where MyObject are dynamic proxies. I want to use the XmlSerializer to serialize this list, but I don't want them serialized as DynamicProxies but as the underlaying POCO object.

I know about ContextOptions.ProxyCreationEnabled, but I do not want to use that. I just want to know how to cast a proxy object to it's underlaying POCO to serialize.

Answer

Korayem picture Korayem · Jan 23, 2012

Faced the same issue today and used Value Injecter to solve it. It's as simple as:

var dynamicProxyMember = _repository.FindOne<Member>(m=>m.Id = 1);
var member = new Member().InjectFrom(dynamicProxyMember) as Member;