powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF: IEnumerable => IN (1,2,3)
5 сообщений из 5, страница 1 из 1
EF: IEnumerable => IN (1,2,3)
    #38868801
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть IEnumerable, содержащий набор значений 1,2,3

Есть IQueryable сущностей с набором полей. Как для него правильно задать условие отбора одного из полей .Where(n => n.MyField... ), чтобы в SQL получилось "WHERE MyField IN (1,2,3)"
...
Рейтинг: 0 / 0
EF: IEnumerable => IN (1,2,3)
    #38868917
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕсть IEnumerable, содержащий набор значений 1,2,3

Есть IQueryable сущностей с набором полей. Как для него правильно задать условие отбора одного из полей .Where(n => n.MyField... ), чтобы в SQL получилось "WHERE MyField IN (1,2,3)"

Код: c#
1.
query.Where(p => array.Contains(p.Id))



П.С. Рекомендую избегать IEnumerable, где это только возможно. IEnumerable представляет собой что угодно (даже бесконечную последовательность), это слишком общий интерфейс, подходящий больше универсальным библиотекам. В прикладном коде либо ICollection / IList, либо (что лучше) IReadOnlyCollection / IReadOnlyList. Пользуемся этим правилом больше года (и до этого пользовались, но не было внутреннего регламента) — только плюсы.
...
Рейтинг: 0 / 0
EF: IEnumerable => IN (1,2,3)
    #38868926
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Код: c#
1.
query.Where(p => array.Contains(p.Id))

странно, но на такой формат у меня EF ругнулся, что не может распознать выражение, после чего я и задал вопрос. Ладно попытаюсь локализовать.

hVosttП.С. Рекомендую избегать IEnumerable, где это только возможноОк, ну по факту у меня вполне конкретный List<int>
...
Рейтинг: 0 / 0
EF: IEnumerable => IN (1,2,3)
    #38868940
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proстранно, но на такой формат у меня EF ругнулся, что не может распознать выражение, после чего я и задал вопрос. Ладно попытаюсь локализовать.

Может дело в версии? Какая версия EF и какой двиг БД?
...
Рейтинг: 0 / 0
EF: IEnumerable => IN (1,2,3)
    #38868971
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался, я умудрился внутри лямбды еще сделать дополнительную фильтрацию это списка 1,2,3
Отфильтровал заранее - прошло. Спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF: IEnumerable => IN (1,2,3)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]