使用linq到sql获取标量值的情况

时间:2015-07-03 00:05:08

标签: c# linq

我想用Linq做这件事:

select when name<>'' then name else username end displayname from users where id = 1

我知道如何使用linq选择标量值

   string name = from u in users
               select new {u.name}.SingleOrDefault();

但是我怎么能在何时实施案例呢?

2 个答案:

答案 0 :(得分:4)

我认为这应该有所帮助:

 string name = (from u in users
               select new 
               {
                  Name = u.name != "" ? u.name : u.username
               }).SingleOrDefault();

您也可以使用string.IsNullOrWhiteSpace()

答案 1 :(得分:1)

var resul = users.Where(x => new { Name = u.name != "" ? u.name : u.username });