The only way that my WCF service can return classes from a code first model is by setting the ProxyCreationEnable
to false
using the code below.
((IObjectContextAdapter)MyDb).ObjectContext.ContextOptions.ProxyCreationEnable = false;
What are the negative consequences of doing this? One gain is that I can at least get these dynamic types serialized so they can be sent over the wire using WCF.
If DbContext.Configuration.ProxyCreationEnabled
is set to false
, DbContext will not load child objects for some parent object unless Include
method is called on parent object. Setting DbContext.Configuration.LazyLoadingEnabled
to true
or false
will have no impact on its behaviours.
If DbContext.Configuration.ProxyCreationEnabled
is set to true
, child objects will be loaded automatically, and DbContext.Configuration.LazyLoadingEnabled
value will control when child objects are loaded.