LINQ IN
От: andr2 Россия  
Дата: 24.11.10 21:54
Оценка:
Друзья,

Будьте добры, подскажите, как в BlToolkit написать IN?

На такой код:
from b in db.GetTable<Book>()
where
   !(from sb in db.GetTable<StoreBook>()
     select sb.BookId).Contains(b.Id)
orderby b.ISBN
select b


Выдает ошибку:

'value(Mintright.ImportManager.Publishers.PublicationMgr+<>c__DisplayClass2).db.GetTable().Select(sb => sb.BookId).Contains(b.Id)' cannot be converted to SQL.


В тестах Contains к IQueriable нигде не применяется. Понимаю, что можно через join переписать, но хочется правды.
Re: LINQ IN
От: denisio_mcp  
Дата: 29.11.10 03:59
Оценка:
Здравствуйте, andr2, Вы писали:

A>На такой код:

A>
A>from b in db.GetTable<Book>()
A>where
A>   !(from sb in db.GetTable<StoreBook>()
A>     select sb.BookId).Contains(b.Id)
A>orderby b.ISBN
A>select b
A>


Может так?

!(from sb in db.GetTable<StoreBook>()
select sb.BookId).ToArray().Contains(b.Id)
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.