We are upgrading GlassMapper to V5 and installed Glass.Mapper.Sc.90. I am doing all the changes mentioned in http://www.glass.lu/Mapper/documentation/Upgrade-ToV5.html link one by one. Now, i am working on Lazy.
I have disabled Lazy on Model and trying to implement on services when a model is requested. So far the below is working fine
_mvcContext.**GetDataSourceItem**<ITest>(x => x.LazyDisabled());
But when trying the below, i am getting an error.
_mvcContext.**GetContextItem**<IPageBase>(x => x.LazyDisabled());
When I mouse hover on x => x.LazyDisabled(), I am seeing Cannot convert lambda expression to type 'GetKnownOptions' because it is not a delegate type
also the webpage errors out with below stack trace.
Model depth check failed. Model graph too large, enable lazy loading. Type requested: Test.Models.ISitecoreItemTest.Models.ISitecoreItem Test.Models.ISitecoreItem Test.Models.ISitecoreItem Test.Models.ISitecoreItem Test.Models.ISitecoreItem Test.Models.ISitecoreItem Test.Models.ISitecoreItem Test.Models.Common.IPageBase
What should I do here? Thoughts?
my GlassMapperScCustom.cs
looks like below
`public static IDependencyResolver CreateResolver(){ var config = new Glass.Mapper.Sc.Config();
//Needed to avoid Model-too - deep exception
config.OnDemandMappingEnabled = true;
config.Cache.AlwaysOn = true;
//config.EnableLazyLoadingForCachableModels = true; // Only for V4. Deprecated in V5
var dependencyResolver = new DependencyResolver(config);
// add any changes to the standard resolver here
dependencyResolver.ObjectConstructionFactory.Remove<ItemVersionCountByRevisionTask>();
//dependencyResolver.ObjectConstructionFactory.Remove<ModelDepthCheck>(); // **This is not working.**
return dependencyResolver;
}`
Thanks in advance.