0

関数が受け取ったブール値に応じて、Where 句が適用されるフィールドを変更しようとしています。これまでのところ、私はこれを持っています:

Public Function SomeFunction(ByVal value As String, Optional bValueIsString As Boolean = False) As JsonResult
    ...
    Dim q = (From t In table
                 Where If(bValueIsString, t.Desc=value, t.Id=value)
                 Select New With {.Id,
                                  .LongDescription,
                                  .Desc)})
    ...
End Function

しかし、私は受け取り続けます:

Conversion from string "someString" to type 'Integer' is not valid.

.. bValueIsString を true に設定したとき。

-

ScottGu の Dynamic LINQ Library については知っていますが、可能であれば外部コンポーネントを使用したくありません。

4

1 に答える 1