Hi,
I'm trying to convert the below sql statement to linq. But how do i get the ISNULL() area in my SQL query?
SELECT DISTINCT lkpChecks.txtChecksName AS [Check Name],
lkpChecks.intTimeInterval AS [Time Interval],
lkpChecks.intBatchInterval AS [Batch Interval],
lkpChecks.ynStartUp AS [Start Up],
lkpChecks.ynCCP AS [CCP],
lkpChecks.ynBoolean AS [Type Ok/Not Ok],
lkpChecks.txtUnit AS [Unit],
ISNULL(tblChecks.dblMinValue, ISNULL(lkpChecks.dblDefaultMinValue, 0)) AS [Minimum Value],
ISNULL(tblChecks.dblMaxValue, ISNULL(lkpChecks.dblDefaultMaxValue, 0)) AS [Maximum Value],
ISNULL(tblChecks.dblLowerWarningLimit, ISNULL(lkpChecks.dblDefaultMinWarningValue, 0)) AS [Lower Warning Value],
ISNULL(tblChecks.dblUpperWarningLimit, ISNULL(lkpChecks.dblDefaultMaxWarningValue, 0)) AS [Upper Warning Value],
ISNULL(tblChecks.dblTarget, ISNULL(lkpChecks.dblDefaultTargetValue, 0)) AS [Target],
lkpChecks.ynEndFillingCode AS [Get at End of LotCode],
lkpChecks.ynFRReport_Other AS [Include in Release Report],
lkpChecks.intChecks,
lkpChecks.intUserEvent,
ynReqRemarks as [Required Remarks]
FROM lkpChecks LEFT OUTER JOIN tblChecks ON lkpChecks.intChecks = tblChecks.intChecks
AND tblChecks.intProcess = lkpChecks.intProcess
AND tblChecks.intLine = 167
WHERE (lkpChecks.intProcess = 10)
var qs = from check in checksColl
join check_sett in checkSetting
on new
{
cID = check.ChecksID,
cProcess = check.Process
}
equals
new
{
cID = check_sett.CheckID,
cProcess = check_sett.ProcessID
} into temp
from x in temp.Where(line => line.LineID == 10).DefaultIfEmpty()
where check.Process == int.Parse(c_cboProcess.Items[c_cboProcess.SelectedIndex].Key)
select new { CheckName = check.ChecksName,
TimeInterval = check.TimeInterval,
BatchInterval = check.BatchInterval,
Unit = check.Unit
};
The above linq is ok, but when i add some fields from "x" i'm getting this error
"Object is not set to an instance of an object".
select new { CheckName = check.ChecksName,
TimeInterval = check.TimeInterval,
BatchInterval = check.BatchInterval,
Unit = check.Unit,
MinimumValue = x.MinValue,
MaximumValue = x.MaxValue };
Appreciate your help.
Thanks!!