Здравствуйте, Alexys, Вы писали:
A>Имеем массив со значениями values[] = {'1' , '2'}
A>LinQ запрос:
A>context.Table1.Where(x => x.Pole1.StartsWith('1'))
A>Как к LinQ привязать массив values к условию выборки?
A>например
A>context.Table1.Where(x => x.Pole1.StartsWith('1') || x.Pole1.StartsWith('2'))
A>изначальный массив произвольный, неизвестно сколько элементов может быть...
Может быть, так
context.Table1.Where(x=>values.Any(v=>x.Pole1.StartsWith(v))
Однако, помните, что не всякий Linq провайдер способен такое переварить в нормальный SQL или даже вообще переварить.
Здравствуйте, Alexys, Вы писали:
A>Имеем массив со значениями values[] = {'1' , '2'}
A>LinQ запрос:
A>context.Table1.Where(x => x.Pole1.StartsWith('1'))
A>Как к LinQ привязать массив values к условию выборки?
A>например
A>context.Table1.Where(x => x.Pole1.StartsWith('1') || x.Pole1.StartsWith('2'))
A>изначальный массив произвольный, неизвестно сколько элементов может быть...
context.Table1.Where(x => values.Any(val => x.Pole1.StartsWith(val)))
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
Здравствуйте, Alexys.
Какая именно СУБД?
Можно попробовать использовать
SqlMethods.Like.
И что-то вроде:
var query = ...
foreach (string val in values)
{
string like = val + "%";
query = query.Where(x => SqlMethods.Like(x.Pole1, like));
}