У меня длинный запрос LinqtoSQl, в котором несколько параметров я не заставляю пользователя указывать что-либо. Я начал использовать оператор Select Case, который проверял бы, вернее или нет, длину строки параметра> 0 или значение int> 0. Но я понял, что мне придется проверять каждую возможность и создавать запросы на основе каждой.
Я провел некоторый поиск и наткнулся на сообщение, в котором человек, отвечавший на него, говорил, что нужно отменить часть запроса, используя ||. Пройдя еще несколько поисков (и поняв, что у меня есть немного навыков c #, которые у меня есть ||, это условное ИЛИ), я понял, что это мне не поможет.
Я думаю, что я хочу сделать что-то вроде
Dim r = From x in db.List _
(if firstName.Length < 1 then ignore query
else)where x.firstName = firstName _
(if lastName.Length < 1 then ignore query
else)where x.LastName = lastName _
Select x
Я знаю, что должен быть лучший способ, чем IfElse, пройти через это ... Я собирался сделать что-нибудь интересное с StringBuilder, но я не уверен, что это "выстрелит", то есть:
Dim sb as New StringBuilder
sb.Append("Dim r = From x in db.List _")
If firstName.Length < 1 then
sb.Append("Where x.firstName = firstName")
тьфу, пожалуйста, скажи мне, что есть лучший способ ...
Спасибо за вашу помощь!