Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / аналог where поле таблици in список / 10 сообщений из 10, страница 1 из 1
20.04.2009, 16:35
    #35942422
Welor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
Доброго времени суток!

Есть следующая проблема. Необходимо на LINQ написать чтото вроде
select * from [таблица] where [поле таблици] in (1,2,3,4,5,6)

спасибо заранее за ответы!
...
Рейтинг: 0 / 0
20.04.2009, 20:01
    #35942879
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
Не ленитесь заглянуть в msdn
Код: plaintext
1.
2.
3.
4.
5.
int[] productList = new int[] { 1, 2, 3, 4 };

var myProducts = from p in db.Products
                 where productList.Contains(p.ProductID)
                select p;
И... формулируйте точнее... а то это вроде :)
...
Рейтинг: 0 / 0
20.04.2009, 20:31
    #35942912
Welor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
Уважаемый buser,

в MSDN я заглядовал, и в интернете ковырялся, так же некоторое время назад наткнулся на вот этот топик http://www.sql.ru/forum/actualthread.aspx?tid=618560, где так же шло обсуждение пообного вопроса. Код который Вы написали, я уже проверял и кроме ошибки при выполнении нечего не получил. Воспользовался советом из вышеуказанного топика(сортировка данных уже после их получения)., но хочется всётаки найти решение.

Спасибо за ответ.
...
Рейтинг: 0 / 0
20.04.2009, 21:49
    #35943016
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
Что Вы написали, какая лшибка?
...
Рейтинг: 0 / 0
21.04.2009, 12:22
    #35943890
Welor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
buser,

Ошибка следующая:

LINQ to Entities does not recognize the method 'Boolean Contains[Int32](System.Collections.Generic.IEnumerable`1[System.Int32], Int32)' method, and this method cannot be translated into a store expression.

исходный код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  int[] OrganizationIDs = new int[] { 1, 2, 3, 4 };           

 var TmpCountrySQL = from OrganizationCountry in dbconnect.OrganizationCountry
 where  (OrganizationIDs.Contains(OrganizationCountry.Organization.OrganizationID))
                                select new
                                            {
                                                OrganizationCountry.Organization.OrganizationID,
                                                OrganizationCountry.Country.CountryID,
                                                OrganizationCountry.Country.CountryName,
                                                OrganizationCountry.Country.Region.RegionID,
                                                OrganizationCountry.Country.Region.RegionName
                                            };



помогите разобраться
...
Рейтинг: 0 / 0
21.04.2009, 15:19
    #35944620
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
полистайте этот тредик ... может полегчает... Ключевое LINQ to Entities
...
Рейтинг: 0 / 0
28.04.2009, 15:13
    #35958592
Welor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
Уважаемый buser,
и другие столкнувшиеся с этой проблемой

в коде от "buser" в принцепе всё верно, но в следующем выражении

Код: plaintext
var myProducts = from p in db.Products

нужно написать

Код: plaintext
var myProducts = from p in db.Products.AsEnumerable()

в этом случае всё идет без ошибок.

Спасибо buser за участие!
...
Рейтинг: 0 / 0
28.04.2009, 17:50
    #35959201
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
в этом случае вся таблица products выгружается из базы и дальнейшие действия по фильтрации и выборке происходят уже на клиенте.

p.s. как коробит безграмотность, арррр. Автор, ты в школе-то учился? читать противно, ей богу.
...
Рейтинг: 0 / 0
29.04.2009, 13:01
    #35960700
Welor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
зы,

может тогда подскажеш как ГРАМОТНО это сделать!
...
Рейтинг: 0 / 0
29.04.2009, 19:01
    #35961878
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог where поле таблици in список
грамотно? пожалуйста:

подскажеш ь
таблиц ы
что - то
загляд ы вал
н и чего не получил
все - таки

будут ещё вопросы - обращайся, грамотно.

p.s. contains для EF обсуждался недавно, возможно даже топ ещё висит на первой странице.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / аналог where поле таблици in список / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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