我想检测从LINQ2SQL查询返回的NULL值并将其转换为某些内容 例如:if:
public static String[] getAllStudents(string n)
{
var ret = from p in db.students
select p.st_fname + " " + p.st_mname +" " +p.st_lname ;
string[] st = ret.ToArray<String>();
return st;
}
if(p.st_lname == NULL)来自数据库我想把它转换为“这是空的” 所以,如果我在我的桌子上:
-------------------------------------------------
st_fname|| st_maname || st_lname
-------------------------------------------------
x || y || NULL
-------------------------------------------------
我想应用我上面解释的内容。
答案 0 :(得分:1)
在那种情况下:
select (p.st_fname ?? "This is empty") + " " + (p.st_mname ?? "This is empty") +
" " + (p.st_lname ?? "This is empty");
或者如果它只是可以为null的姓氏:
select p.st_fname + " " + p.st_mname +
" " + (p.st_lname ?? "This is empty");
?? operator(null-coalescing运算符)表示取左侧的值,除非它为null,在这种情况下取右侧。
答案 1 :(得分:1)
尝试写下类似的内容:
var ret = from p in db.students
select string.Format("{0} {1} {2}",p.st_fname,p.st_mname, p.st_lname==null?"Undefined":p.st_lname);