Я пытаюсь сделать динамический запрос для извлечения данных из базы данных sql. Но как мне выполнить предложение dynamic where для каждого элемента внутри списка?C# LINQ to SQL dynamic where where
, например:
where datumStart <= fout.Datum && datumEnd >= fout.Datum && foreach (var item in listbox.SelectedItems)
{
Treinen treinData = (Treinen)item;
where fout.Treinen.Name == treinData.Name
}
Так что добавляет все элементы внутри Еогеасп как где п & &.
Вся помощь приветствуется!
Исходный код:
foreach (var items in _listBox.SelectedItems)
{
Treinen treinData = (Treinen)items;
Console.WriteLine(treinData.Name);
}
DateTime datumStart = datePickerStart.SelectedDate.Value;
DateTime datumEnd = datePickerEnd.SelectedDate.Value;
ObjectQuery<Fouten> fouten = eventsEntities.Foutens;
loadedData =
(from fout in fouten
where datumStart <= fout.Datum && datumEnd >= fout.Datum
.....
orderby fout.Datum, fout.Time
select new
{
Datum = fout.Datum,
Time = fout.Time,
FoutCode = fout.FoutCode,
Omschrijving = fout.Omschrijving,
Teller = fout.Teller,
Module = fout.Module.ToUpper(),
FoutId = fout.FoutId,
TreinId = fout.TreinId
}).AsEnumerable().Select(x => new Fouten
{
Datum = x.Datum,
Time = x.Time,
FoutCode = x.FoutCode,
Omschrijving = x.Omschrijving,
Teller = x.Teller,
Module = x.Module,
FoutId = x.FoutId,
TreinId = x.TreinId
}).ToList();
foutensDataGrid.ItemsSource = loadedData;
Если соответствующий связей в предложении where вам нужно будет использовать деревья выражений, иначе вы можете использовать выражение, если вы просто изменяете значения в предложении where, такие как x.Name = «Bob» или x.Name = «Goostrabha» и передайте выражение в предикат. –
вы также можете добавить несколько предложений «где» в ваш запрос, каждый из которых означает «&&». так, например, «var query = select x where cluase1 where clause2» – esiprogrammer
Что именно должно оценивать это * динамическое предложение where * –