|
|
|
Linq. Как выкрутится с Exists?
|
|||
|---|---|---|---|
|
#18+
Есть таблица Customers (customer_id...) и таблица Photos(customer_id, photo, rec_date) В таблице photos хранятся фотокарточки клиентов... У одного клиента может быть несколько фото Задача получить только самые свежие фотографии у клиентов(если фото вообще есть). Обычный запрос я бы писал с коррелированным Exists: select cl.*, p.photo from Clients cl left join Photos p on cl.client_id = p.client_id where not exists (select * from Photos p2 where p2.rec_date > p.rec_date and p2.client_id = p.client_id) В LINQ недопонять как такое выразить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2009, 16:54 |
|
||
|
Linq. Как выкрутится с Exists?
|
|||
|---|---|---|---|
|
#18+
что именно не понять? left join -> SelectMany() not exists -> collection.Count()==0, например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2009, 17:15 |
|
||
|
Linq. Как выкрутится с Exists?
|
|||
|---|---|---|---|
|
#18+
зы, оно конечно хорошо, но как два поля проверять я не допёр пока... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2009, 17:26 |
|
||
|
Linq. Как выкрутится с Exists?
|
|||
|---|---|---|---|
|
#18+
а left join я делаю через конструкцию: join s in db.Photos on c.customer_id equals s.custome_id into temp from st in temp.DefaultIfEmpty() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2009, 17:31 |
|
||
|
Linq. Как выкрутится с Exists?
|
|||
|---|---|---|---|
|
#18+
я так понимаю тебе правильней для твоей нужды будет написать следующее: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2009, 17:53 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=71&tid=1351835]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 321ms |

| 0 / 0 |
