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
Post a Comment