Можно создать дубликат:
'Contains()' workaround using Linq to Entities?LINQ не принимает Содержит()
Использование LINQ в C#, у меня есть следующая проблема;
нужно выбрать строки из большой таблицы, используя 3 условие: - «schooljaar» должен быть значение, установленное ранее, - «p_bamatype» должен быть значение NOT в списке, определенном в настройках (это StringCollection) - «p_stdgeb» должно быть значение NOT в списке, определенном в настройках (это также StringCollection)
у меня есть этот код:
var set = (db.SA_Opleiding.Where(opleiding => opleiding.schooljaar == schooljaar
&&
!Properties.Settings.Default.Admin_Studiegebieden_Exclude.Cast
<string>().ToList().Contains(
opleiding.p_stdgeb.ToString())
&&
!Properties.Settings.Default.Admin_Studietypes_Exclude.Cast
<string>().ToList().Contains(
opleiding.p_bamatype.ToString()))
.Select(opleiding => new OpleidingModel()
{
Id = opleiding.p_opleiding,
LanNames =
new Dictionary
<string, string>()
{
{
"NL",
opleiding.
opleidingNL
},
{
"FR",
opleiding.
opleidingFR
},
{
"EN",
opleiding.
opleidingEN
}
}
}))
.ToList<OpleidingModel>();
return set;
Однако, LINQ не удается преобразовать Метод Содержит. Я читал о других, имеющих одну и ту же проблему, но я не могу найти подходящего решения для этого. Есть ли какое-либо решение для описанной проблемы? Так что я точно нуждаюсь в NOT IN (набор строк) эквивалент LINQ.
[Вот] (http://stackoverflow.com/questions/88473/how-to-do-a-where-in-values-in-linq -to-entities-3-5) один из многих возможных дубликатов. –