Linq2Sql select 其中字符串不为 null 或为空
Linq2Sql select where string is NOT null or empty
我正在尝试从 table(带连接)中提取记录,其中文本字段 PassFail 不能 = PASS 不能是 null/empty,但我正在为语法苦苦挣扎。到目前为止我遇到的错误指向我正在使用的语法不受 linq 支持..
我最近的尝试是
Dim HW2Process = (From mi In dc.tblMainDatas
Join u In dc.tblUsers On u.UserNo Equals mi.RecdBy
Join fi In dc.tblHWs On fi.HWRef Equals mi.HWRef
Where mi.Ref.StartsWith(tb_HWRefFind.Text.Trim()) And mi.DateProcessed.HasValue = True And ((mi.PassFail <> "PASS") And (IsNothing(mi.PassFail) = False))
Select New With {.ID = mi.ID,
.DateReceived = mi.DateRecd,
.ReceivedBy = u.FullName,
.SerialID = mi.SerialID,
.LiveTest = mi.LiveTest,
.DeployYear = mi. DeployYear,
.ProductType = mi.ProductType,
.HWRef = mi.HWRef,
.HWName = fi.HWName,
.MediaType = mi.MediaType,
.MediaQuantity = mi.MediaQty})
标准应该是 mi.PassFail 不应为空或为空或等于 'PASS'
感谢任何帮助。
你写:
mi.DateProcessed.HasValue = True
Linq2SQL 对此没有正确的翻译。你应该这样写:
(Not (mi.DateProcessed Is Nothing))
我想这里也是一样的:
(IsNothing(mi.PassFail) = False))
如果你想翻译我在这里看到的应该是:
(Not (mi.PassFail Is Nothing))
我不是真正在 VB,主要在 C# 中,但我认为你会得到这个错误,因为如果你想检查 null 上的某些值,你应该像我提到的那样做。
我正在尝试从 table(带连接)中提取记录,其中文本字段 PassFail 不能 = PASS 不能是 null/empty,但我正在为语法苦苦挣扎。到目前为止我遇到的错误指向我正在使用的语法不受 linq 支持..
我最近的尝试是
Dim HW2Process = (From mi In dc.tblMainDatas
Join u In dc.tblUsers On u.UserNo Equals mi.RecdBy
Join fi In dc.tblHWs On fi.HWRef Equals mi.HWRef
Where mi.Ref.StartsWith(tb_HWRefFind.Text.Trim()) And mi.DateProcessed.HasValue = True And ((mi.PassFail <> "PASS") And (IsNothing(mi.PassFail) = False))
Select New With {.ID = mi.ID,
.DateReceived = mi.DateRecd,
.ReceivedBy = u.FullName,
.SerialID = mi.SerialID,
.LiveTest = mi.LiveTest,
.DeployYear = mi. DeployYear,
.ProductType = mi.ProductType,
.HWRef = mi.HWRef,
.HWName = fi.HWName,
.MediaType = mi.MediaType,
.MediaQuantity = mi.MediaQty})
标准应该是 mi.PassFail 不应为空或为空或等于 'PASS'
感谢任何帮助。
你写:
mi.DateProcessed.HasValue = True
Linq2SQL 对此没有正确的翻译。你应该这样写:
(Not (mi.DateProcessed Is Nothing))
我想这里也是一样的:
(IsNothing(mi.PassFail) = False))
如果你想翻译我在这里看到的应该是:
(Not (mi.PassFail Is Nothing))
我不是真正在 VB,主要在 C# 中,但我认为你会得到这个错误,因为如果你想检查 null 上的某些值,你应该像我提到的那样做。