在linq中我遇到了一個奇怪的問題。每當我試圖指定bit datatype
在where
子句中的兩列時,它將返回null。但事情是數據是存在與我的表中的具體要求。檢查Linq中布爾數據類型的where子句中的兩個條件時列表爲null
var data = (from PD in C.KYC_PERSONAL_DETAILS
join IMG in C.KYC_UPLOAD_DETAILS on PD.ACCOOUNT_NO equals IMG.ACCOOUNT_NO
where (PD.FILEFLAG == false) && (IMG.IsVerify == true)
select new
{
PD_ACCOUNT_NO = PD.ACCOOUNT_NO,
PD_NAME = PD.NAME,
IMG_Name = IMG.Name
}.ToList();
int count = data.Count(); //Here it shows 0 even though data exists in table.
同樣的查詢,如果我寫在SQL查詢的形式然後工作和返回一個行。
select * from KYC_PERSONAL_DETAILS, KYC_UPLOAD_DETAILS
where KYC_PERSONAL_DETAILS.FILEFLAG = false
AND KYC_UPLOAD_DETAILS.IS_VERIFY= true
//Here it is returning a row.
我只是想知道,是否有可能指定兩列數據類型布爾和&&
運營商在LINQ與否的條款?如果是,那麼請建議一種方法。
檢查您的LINQ返回任何記錄*不* 'where'和'select'部分。 – dotNET
如果不是,這很可能是數據類型問題,從您的SQL語句中可以看出(您使用的是字符串值而不是布爾值)。 – dotNET
即使我在SQL中使用布爾值,它也在工作。 – Chirag