1
请看看这个简单的LINQ查询之前检查空:LINQ到实体查询,使用导航属性
var lst = from pat in ctx.PATIENTS
join cons in ctx.CONSULTATIONS.Include(a => a.EXAMENS)
on pat.ID_PATIENT equals cons.CON_ID_PATIENT into joinpatcons
from p in joinpatcons.DefaultIfEmpty()
select new ConsultationsPageType()
{
ID_CONSULTATION = (p == null) ? 0 : p.ID_CONSULTATION
};
的ID_CONSULTATION字段是一个可空INT
public class ConsultationsPageType
{
......
public int? ID_CONSULTATION { get; set; }
......
}
我想要的是返回null如果p是null而不是零。
通过替换为null简单地0给了我这个错误
无法确定条件表达式的类型,因为有 之间和intentre和没有隐式转换诠释
且p?.ID_CONSULTATION此一个
lambda表达式树状不能包含空传播 运算符
我是.NET 4.6
感谢上。
那么什么是很难在其更改为'ID_CONSULTATION =(P == NULL)? null:p.ID_CONSULTATION'?我错过了什么吗? –
对不起,请看编辑过的问题 – user2475096
你可以将'null'转换为'int?'。看到我更新的答案。 –