Linq查询可能为空的文本框(Coalesce)

时间:2013-06-06 14:27:33

标签: .net vb.net linq coalesce

我需要知道是否有办法合并这些字段:

String Field1

Integer Field2

当用户输入文本框中没有任何内容时,我需要此查询来忽略这些值 但我不知道如何实现它。

我使用Nothingdefault nullable value使用整数:

Dim nullInt As Integer?
        nullInt.GetValueOrDefault()

没有运气。

Dim veh As wsTarificador.Class1() =
    (From m In vehiculos
     Where m.Field1= IIf(String.IsNullOrEmpty(txtCaballos.Text), nothing, txtCaballos.Text) _
     And m.Field2=Convert.ToInt32(IIf(String.IsNullOrEmpty(txtPuertas.Text), nothing, txtPuertas.Text))
    Select m).ToArray

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

Dim veh As wsTarificador.Class1() =
    (From m In vehiculos
     Where (String.IsNullOrEmpty(txtCaballos.Text) OrElse m.Field1 = txtCaballos.Text) _
     AndAlso (String.IsNullOrEmpty(txtPuertas.Text) OrElse m.Field2=Convert.ToInt32(txtPuertas.Text))
    Select m).ToArray