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?'。看到我更新的答案。 –