Linq查询失败,空值

时间:2014-07-25 08:47:35

标签: linq jquery-datatables predicate

我在我的MVC 5应用程序中使用JQuery Datatables。我正在我的MVC控制器中的一个数据表上实现排序,但是,我遇到了一些困难,因为它出现了一些用户可以选择排序的列,包含空值。

//Get column index to sort
var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);

if (sortColumnIndex == 0 || sortColumnIndex == 1)
{
    if(sortColumnIndex == 0)
    {
         Func<survey_status, string> orderingFunction = (c => c.doctor.Doctor_FName);
    }
    else if(sortColumnIndex == 1)
    {
        Func<survey_status, string> orderingFunction = (c => c.Facilitator.Doctor_FName);
    }
}

如果sortColumnIndex为0,则永远不会出现问题,因为c.doctor永远不会为空。但是,当sortColumnIndex为1时,有时c.Facilitator为空,这会导致代码失败。

我能做些什么来检查c.Facilitator是否为空,如果是,则返回一个空字符串,如“”或“无数据”。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:3)

(c => c.Facilitator == null ? "No Data" : c.Facilitator.Doctor_FName)