c# - Using Include() in IQueryable times out even with LazyLoading disabled -


i have 'parent' entity links other entities , when loading list, timed out because of connections, disabled lazyloading.

it has been working fine, need retrieve field child entity. included entity in query .include() , takes long load.

these entities. coded summary of tree relationship created other classes.

public partial class coded {     public int codeid { get; set; }     public int maters_materid { get; set; }     public int levels_levelid { get; set; }     public virtual mater mater { get; set; }     public virtual level level { get; set; }     public virtual sublevel sublevel { get; set; }     ... }  public partial class mater {     public int materid { get; set; }     public string name { get; set; } }  public partial class level {     public int levelid { get; set; }     public string name { get; set; }     public virtual mater mater { get; set; } } 

when following query, lazyloading disabled, works , works fast.

mygrid mg = new mygrid(); mg.codes = db.codes.where(c => c.maters_materid == 1 && c.levels_levelid == 1) .tolist(); 

this 1 also:

mygrid mg = new mygrid(); mg.codes = db.codes.where(c => c.maters_materid == 1 && c.levels_levelid == 1) .include(c => c.mater) .tolist(); 

but when query, lazyloading disabled, steps-thru, when loads page (view), times out.

mygrid mg = new mygrid(); mg.codes = db.codes.where(c => c.maters_materid == 1 && c.levels_levelid == 1) .include(c => c.level) .tolist(); 

in json script, have this, helping clear out errors had before. i'm adding in case has do.:

var initialdata = @html.raw(jsonconvert.serializeobject(model, new jsonserializersettings{ referenceloophandling = referenceloophandling.ignore} )) 

is way virtual loaded? can load fields need? i'm using json on view, can how reads?

it sounds need have mater in view since works when include part.

try including both

mygrid mg = new mygrid(); mg.codes = db.codes     .include(c => c.mater)     .include(c => c.level)     .where(c => c.maters_materid == 1 && c.levels_levelid == 1)     .tolist(); 

Comments

Popular posts from this blog

python - pip install -U PySide error -

arrays - C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token -

cytoscape.js - How to add nodes to Dagre layout with Cytoscape -