powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / LINQ to Entities
12 сообщений из 12, страница 1 из 1
LINQ to Entities
    #38584585
lLINQ to Entities
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот это
Repo.Select(x => StringIds.Contains(x.id.ToString()));

дает ошибку:


LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.
public override IList<Table> Select(Expression<Func<Table, bool>> Expression)
{
return dbcontext.Table.Where(Expression).ToList<Table>();
}

Как исправить
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584754
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну эт как бы и правильно что ругается. можно сделать так
1) материализовать предварительно и тогда метод ToString будет доступен
2) SqlFunctions.StringConvert для преобразования в строку
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584812
LINQ to Entities
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRuну эт как бы и правильно что ругается. можно сделать так
1) материализовать предварительно и тогда метод ToString будет доступен
2) SqlFunctions.StringConvert для преобразования в строку

можно подробнее по п1.
сделал п 2 но выборка пустая хотя в бд данные по этому условию есть.
Repo.Select(x => StringIds.Contains(SqlFunctions.StringConvert((decimal)x.id.ToString())));
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584822
LINQ to Entities
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вернее так :
Repo.Select(x => StringIds.Contains(SqlFunctions.StringConvert((decimal)x.id)));
выборка -пустая
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584835
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Repo.ToList().Select(x => StringIds.Contains(x.id.ToString()));
ToList() материализует но минус вытащиться все
2) Repo.Select(x => StringIds.Contains(SqlFunctions.StringConvert((decimal)x.id)));
посмотрите что за запрос идет в скул, меня смущает что у вас дробные единицы, которые зависит от культуры сильно
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584858
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще момент StringIds это коллекция id? и у вас что id decimal?
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584868
LINQ to Entities
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRuи еще момент StringIds это коллекция id? и у вас что id decimal?
StringIds это строка с айди 1,2,3 и тп.

id - int но парметр SqlFunctions.StringConvert это либо decimal либо double/
проблема наверное в этом не пойму и как быть
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584871
LINQ to Entities
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задача простая: выборка из таблицы всех строк с айди из списка.
...
Рейтинг: 0 / 0
LINQ to Entities
    #38584912
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINQ to Entities,

>StringIds это строка с айди 1,2,3 и тп.
с этого надо было и начинать. преобразуйте StringIds в коллекцию int и вообще ничего не надо будет изобретать. просто Repo.Select(x => StringIntIds.Contains(x.id));

>id - int но парметр SqlFunctions.StringConvert это либо decimal либо double/
мой косяк, забыл про это.
...
Рейтинг: 0 / 0
LINQ to Entities
    #38585968
LINQ to Entities
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRuLINQ to Entities,

>StringIds это строка с айди 1,2,3 и тп.
с этого надо было и начинать. преобразуйте StringIds в коллекцию int и вообще ничего не надо будет изобретать. просто Repo.Select(x => StringIntIds.Contains(x.id));



Если в коллекцию преобразовать понятно что будет работать... Но вот как без коллекции сделать.
...
Рейтинг: 0 / 0
LINQ to Entities
    #38586009
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINQ to EntitiesЕсли в коллекцию преобразовать понятно что будет работать... Но вот как без коллекции сделать.
а вы напишите как будет выглядеть в вашем случаем чистый sql запрос
...
Рейтинг: 0 / 0
LINQ to Entities
    #38586032
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тебе же пишут -
скорее всего StringIds - этом массив переменных не такого же типа, как x.id.
сделай StringIds таким же типом - по идее должно сработать
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / LINQ to Entities
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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