c# - Safe query in linq-sql? -



c# - Safe query in linq-sql? -

i have next query:

dat = s in dat orderby s.schedule.employee.employename ascending select s;

the problem schedule or employee might null, in cases, should either show first or last, dont care.

is there way this? crashes when null.

used sort grid view:

[nullreferenceexception: object reference not set instance of object.] kezberprojectmanager.cases.<gvcases_sorting>b__8(case s) in c:\users\jlarouche\documents\visual studio 2010\projects\kezberprojectmanager\kezberprojectmanager\cases.aspx.cs:103 system.linq.enumerablesorter`2.computekeys(telement[] elements, int32 count) +88 system.linq.enumerablesorter`1.sort(telement[] elements, int32 count) +21 system.linq.<getenumerator>d__0.movenext() +178 system.web.ui.webcontrols.gridview.createchildcontrols(ienumerable datasource, boolean databinding) +1698 system.web.ui.webcontrols.compositedataboundcontrol.performdatabinding(ienumerable data) +67 system.web.ui.webcontrols.gridview.performdatabinding(ienumerable data) +14 system.web.ui.webcontrols.databoundcontrol.ondatasourceviewselectcallback(ienumerable data) +123 system.web.ui.datasourceview.select(datasourceselectarguments arguments, datasourceviewselectcallback callback) +33 system.web.ui.webcontrols.databoundcontrol.performselect() +138 system.web.ui.webcontrols.basedataboundcontrol.databind() +30 system.web.ui.webcontrols.gridview.databind() +4 kezberprojectmanager.cases.gvcases_sorting(object sender, gridviewsorteventargs e) in c:\users\jlarouche\documents\visual studio 2010\projects\kezberprojectmanager\kezberprojectmanager\cases.aspx.cs:138 system.web.ui.webcontrols.gridview.onsorting(gridviewsorteventargs e) +122 system.web.ui.webcontrols.gridview.handlesort(string sortexpression, sortdirection sortdirection) +65 system.web.ui.webcontrols.gridview.handlesort(string sortexpression) +78 system.web.ui.webcontrols.gridview.handleevent(eventargs e, boolean causesvalidation, string validationgroup) +497 system.web.ui.webcontrols.gridview.raisepostbackevent(string eventargument) +205 system.web.ui.webcontrols.gridview.system.web.ui.ipostbackeventhandler.raisepostbackevent(string eventargument) +13 system.web.ui.page.raisepostbackevent(ipostbackeventhandler sourcecontrol, string eventargument) +13 system.web.ui.page.raisepostbackevent(namevaluecollection postdata) +9642898 system.web.ui.page.processrequestmain(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) +1724

you need check null before accessing properties:

var x = s in dat allow s = s.schedule allow e = s == null ? null : s.employee orderby e == null ? null : e.employeename ascending select s;

c# asp.net linq

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -