String Sex = getSex(); // return M or F
String[] members = getMembers(); // return member codes in array or null
//if members array is null, no filtering for member codes
var query = from tb in MemberTable
where tb.sex.Equals(Sex) &&
(members != null ? members.Contains(tb.membercode) : true)
select tb;
Код не возвращает правильный результат. Он возвращает всех участников независимо от того, что такое members[]
.LINQ, где фильтрация условий
На самом деле оригинальный LINQ является сложным, так что если есть какие-либо другие возможные решения, я не хочу, чтобы написать следующее:
if (members == null){ /*LINQ1*/ }
else { /*LINQ2*/ }
, который не является хорошим стилем кодирования. Любое предложение для решения этой проблемы?
Поддерживает ли ваш ORM тройной оператор? Я никогда не пробовал с ORM ..:/Что такое SQL, который получается из этого LINQ? –