2013-10-07 48 views
0

这是我的SQL查询:SQL到LINQ皈依

select 
    S.student_No, 
    coalesce(P.Name,'0'), 
    P.Surname 
from 
    Person as P 
join 
    Student as S 
     on P.Id = S.Person_Id 

我想把它转换成LINQ,我做到了,除了COALESCE函数,

from P in cbu.PERSON 
join S in cbu.STUDENT on P.ID equals S.PERSON_ID 
select new 
{ 
    S.Stundent_No, 
    P.Name, 
    P.Surname, 
}; 

如何使用COALESCE在此LINQ查询

非常感谢..

回答

0

P.Name ?? "0"。 C#内置了coalesce操作符。即使您不知道,也可以使用?:运算符。

这个连接不是必须的,顺便说一句。你可以写P.Student.Stundent_No(或任何属性被称为)。

+0

我试过了,但我得到这个错误 - >操作符?不能应用于'int'和'string'类型的操作数 –

+0

您认为错误消息的原因是什么?这是一个编译器错误。 – usr

+0

我写过,而不是P.Name? “0”, - > PERSON_NAME = P.Name ?? '0',它的作品,但是,所有空字段变为48 .. –