2011-07-15 23 views
0

我想检测NULL值从LINQ2SQL查询返回并将其转换为东西 例如,如果:LINQ2SQL检测空返回空值,并将其转换

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; 
} 

如果(p.st_lname == NULL)从数据库中,我想将它转换成类似“这是空的” 所以,如果我有我的表:

------------------------------------------------- 
st_fname|| st_maname || st_lname 
------------------------------------------------- 
x  || y   || NULL 
------------------------------------------------- 

我想申请什么,我就可以了以上解释。

回答

1

在这种情况下:

select (p.st_fname ?? "This is empty") + " " + (p.st_mname ?? "This is empty") + 
     " " + (p.st_lname ?? "This is empty"); 

或者,如果它只是姓,可以为空:

select p.st_fname + " " + p.st_mname + 
     " " + (p.st_lname ?? "This is empty"); 

的?运算符(空合并运算符)意味着采用左侧的值,除非它为空,在这种情况下采用右侧。

+0

非常感谢你 – xsari3x

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);